zoujiajian 1 год назад
Родитель
Сommit
7a7fa1822e

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/coupon/CouponMapper.java

@@ -34,4 +34,6 @@ public interface CouponMapper extends BaseMapper<Coupon> {
 	String getCouponNameByIds(List<Long> couponIds);
 
 	Coupon getRenewCouponBySkuId(@Param("skuId") Long skuId, @Param("couponIds") Set<Long> couponIds, @Param("userId") Long userId);
+
+	List<Long> getCouponSkuIds(@Param("couponIds") List<Long> couponIds);
 }

+ 0 - 6
netflix-dao/src/main/java/com/cyksj/model/entity/UserActivity.java

@@ -50,12 +50,6 @@ public class UserActivity extends BaseEntity {
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private String couponIds;
 
-	/**
-	 * 活动规格ids
-	 */
-	@TableField(updateStrategy = FieldStrategy.IGNORED)
-	private String skuIds;
-
 	/**
 	 * 图片
 	 */

+ 0 - 3
netflix-dao/src/main/java/com/cyksj/model/views/UserActivityDistributeDetailView.java

@@ -48,9 +48,6 @@ public class UserActivityDistributeDetailView {
 	@DbField("ua.coupon_ids")
 	private String couponIds;
 
-	@DbField("ua.sku_ids")
-	private String skuIds;
-
 	/**
 	 * 统计类型(周/月)
 	 * week,month

+ 8 - 0
netflix-dao/src/main/resources/mapper/CouponMapper.xml

@@ -64,4 +64,12 @@
             #{item}
         </foreach>
     </select>
+
+    <select id="getCouponSkuIds" resultType="java.lang.Long">
+        select distinct sku_id from coupon_sku where coupon_id in
+        <foreach collection="couponIds" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and deleted is true
+    </select>
 </mapper>

+ 1 - 1
netflix-dao/src/main/resources/mapper/CouponRecommendMapper.xml

@@ -53,7 +53,7 @@
         left join coupon_user cu on cu.coupon_id = c.id and cu.user_id = #{userId}
         where cr.deleted is true and c.deleted is true and cr.status is true and cu.coupon_id is null
         and (cr.up_time is null or cr.up_time &lt;= now()) and (cr.down_time is null or cr.down_time > now())
-        <if test='isNewUser!= null and !isNewUser'>
+        <if test='!isNewUser'>
             and c.scope !='newUser'
         </if>)s where flag is true
     </select>

+ 2 - 4
netflix-service/src/main/java/com/cyksj/service/coupon/impl/CouponFontServiceImpl.java

@@ -404,8 +404,7 @@ public class CouponFontServiceImpl implements CouponFontService {
 		}
 		//未领取
 		//是否购买过
-		String skuIds = goodsActivity.getSkuIds();
-		List<Long> skuIdList = Jsons.parseList(skuIds, Long.class);
+		List<Long> skuIdList = couponMapper.getCouponSkuIds(couponIdList);
 		Integer orderCount = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, userId).notIn(OrderDon::getStatus, Constant.noOrderAllStatus).in(OrderDon::getSkuId, skuIdList));
 		if (orderCount == 0) {
 			return null;
@@ -425,8 +424,7 @@ public class CouponFontServiceImpl implements CouponFontService {
 			if (selectCount != couponIdList.size()) {
 				//未领取
 				//是否购买过
-				String skuIds = goodsActivity.getSkuIds();
-				List<Long> skuIdList = Jsons.parseList(skuIds, Long.class);
+				List<Long> skuIdList = couponMapper.getCouponSkuIds(couponIdList);
 				Integer orderCount = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, userId).notIn(OrderDon::getStatus, Constant.noOrderAllStatus).in(OrderDon::getSkuId, skuIdList));
 				if (orderCount != 0) {
 					//一键领取优惠券