瀏覽代碼

Merge branch 'mj_guide_func' into pre

zoujiajian 2 年之前
父節點
當前提交
44ae55c5d9

+ 1 - 1
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -326,5 +326,5 @@ public interface Constant {
 	/**
 	 * MJ试用规格id
 	 */
-	Long MIDJOURNEY_TRIAL_SKU_ID = 185L;
+	Long MIDJOURNEY_TRIAL_SKU_ID = 448L;
 }

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java

@@ -91,4 +91,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	BigDecimal getTotalRefundAmountTime(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
 
 	BigDecimal getCouponUsedMoney(Long couponId);
+
+	Integer checkUserHasPaidMjMirror(@Param("userIdList") List<Long> userIdList);
 }

+ 9 - 0
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -513,4 +513,13 @@
         from (select id from coupon_user where coupon_id = #{couponId}) cu
                  inner join order_don o on o.coupon_user_id = cu.id and o.status not in ('close', 'noPayment')
     </select>
+
+    <select id="checkUserHasPaidMjMirror" resultType="java.lang.Integer">
+        select count(1) from order_don where user_id in
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        and status not in ('close','noPayment') and sku_id in (select id from goods_don_sku where goods_id = 26 and
+        is_mirror = 1)
+    </select>
 </mapper>

+ 13 - 4
netflix-service/src/main/java/com/cyksj/service/ticket/impl/UserReceiveTrialTicketRecordServiceImpl.java

@@ -5,10 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.StringUtil;
-import com.cyksj.mapper.GoodsDonSkuMapper;
-import com.cyksj.mapper.GroupsMapper;
-import com.cyksj.mapper.GroupsRelationMapper;
-import com.cyksj.mapper.UserReceiveTrialTicketRecordMapper;
+import com.cyksj.mapper.*;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GroupsRelation;
 import com.cyksj.model.entity.GroupsTrips;
@@ -48,6 +45,8 @@ public class UserReceiveTrialTicketRecordServiceImpl implements UserReceiveTrial
 
 	private final GroupsFuncService groupsFuncService;
 
+	private final OrderDonMapper orderDonMapper;
+
 	@Override
 	public void sendTicketAndRecord(Long userId, Long trialSkuId) {
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
@@ -56,6 +55,11 @@ public class UserReceiveTrialTicketRecordServiceImpl implements UserReceiveTrial
 			throw BusinessRuntimeException.getInstance("系统异常,请联系客服..");
 		}
 		Long goodsId = sku.getGoodsId();
+		//是否购买过mj镜像
+		Integer count = orderDonMapper.checkUserHasPaidMjMirror(userIdList);
+		if (count > 0) {
+			throw BusinessRuntimeException.getInstance("您不符合领取条件");
+		}
 
 		Integer selectCount = userReceiveTrialTicketRecordMapper.selectCount(Wrappers.lambdaQuery(UserReceiveTrialTicketRecord.class)
 				.in(UserReceiveTrialTicketRecord::getUserId, userIdList)
@@ -84,6 +88,11 @@ public class UserReceiveTrialTicketRecordServiceImpl implements UserReceiveTrial
 	@Override
 	public Boolean isReceiveTrialTicket(long userId, Long trialSkuId) {
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+		//是否购买过mj镜像
+		Integer count = orderDonMapper.checkUserHasPaidMjMirror(userIdList);
+		if (count > 0) {
+			return true;
+		}
 		Integer selectCount = userReceiveTrialTicketRecordMapper.selectCount(Wrappers.lambdaQuery(UserReceiveTrialTicketRecord.class)
 				.in(UserReceiveTrialTicketRecord::getUserId, userIdList)
 				.eq(UserReceiveTrialTicketRecord::getSkuId, trialSkuId));