|
|
@@ -19,7 +19,6 @@ import com.kym.service.admin.ActivityService;
|
|
|
import com.kym.service.admin.CouponService;
|
|
|
import com.kym.service.miniapp.UserCouponService;
|
|
|
import com.kym.service.miniapp.UserService;
|
|
|
-import com.kym.service.mq.producer.UserCouponSender;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -47,14 +46,13 @@ public class UserCouponServiceImpl extends MPJBaseServiceImpl<UserCouponMapper,
|
|
|
|
|
|
private final CouponService couponService;
|
|
|
|
|
|
- private final UserCouponSender userCouponSender;
|
|
|
|
|
|
- public UserCouponServiceImpl(RedisTemplate<String, String> redisTemplate, ActivityService activityService, UserService userService, CouponService couponService, UserCouponSender userCouponSender) {
|
|
|
+ public UserCouponServiceImpl(RedisTemplate<String, String> redisTemplate, ActivityService activityService,
|
|
|
+ UserService userService, CouponService couponService) {
|
|
|
this.redisTemplate = redisTemplate;
|
|
|
this.activityService = activityService;
|
|
|
this.userService = userService;
|
|
|
this.couponService = couponService;
|
|
|
- this.userCouponSender = userCouponSender;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -114,6 +112,16 @@ public class UserCouponServiceImpl extends MPJBaseServiceImpl<UserCouponMapper,
|
|
|
|
|
|
// 活动
|
|
|
var activity = activityService.getById(coupon.getActivityId());
|
|
|
+
|
|
|
+ // 更新优惠券已领取数量
|
|
|
+ coupon.setClaimedQuantity(coupon.getClaimedQuantity() + 1);
|
|
|
+
|
|
|
+ // 校验优惠券数量是否已领完
|
|
|
+ if(coupon.getClaimedQuantity() >= coupon.getQuantity()){
|
|
|
+ coupon.setStatus(Coupon.STATUS_已结束);
|
|
|
+ }
|
|
|
+ couponService.updateById(coupon);
|
|
|
+
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
// 存入缓存和数据库
|
|
|
@@ -136,6 +144,7 @@ public class UserCouponServiceImpl extends MPJBaseServiceImpl<UserCouponMapper,
|
|
|
// userCouponSender.sendMessage(userCoupon);
|
|
|
save(userCoupon);
|
|
|
|
|
|
+
|
|
|
// todo 优惠券活动终止时处理redis数据,优惠券失效或者使用之后该做什么操作?
|
|
|
}
|
|
|
|