|
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.qs.mp.admin.domain.Coupon;
|
|
|
import com.qs.mp.admin.domain.Goods;
|
|
|
import com.qs.mp.admin.domain.GoodsCard;
|
|
|
import com.qs.mp.admin.domain.Ticket;
|
|
@@ -29,6 +30,8 @@ import com.qs.mp.framework.domain.AsyncTask;
|
|
|
import com.qs.mp.framework.mapper.AsyncTaskMapper;
|
|
|
import com.qs.mp.framework.service.IAsyncTaskService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qs.mp.system.domain.SysUser;
|
|
|
+import com.qs.mp.system.service.ISysUserService;
|
|
|
import com.qs.mp.user.domain.UserDeliverOrder;
|
|
|
import com.qs.mp.user.domain.UserDeliverOrderItem;
|
|
|
import com.qs.mp.user.domain.UserDeliverOrderItemCard;
|
|
@@ -118,6 +121,9 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
|
|
|
@Autowired
|
|
|
private IUserPrizeStorageService userPrizeStorageService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService sysUserService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -282,4 +288,29 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
|
|
|
throw new ServiceException("卡密商品发货更新订单明细发货时间失败");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void sendNewUserCoupon(AsyncTask asyncTask) {
|
|
|
+ logger.info("收到发放新人优惠券任务,bizId={}", asyncTask.getBizId());
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(asyncTask.getBizId()));
|
|
|
+ if (sysUser == null) {
|
|
|
+ logger.error("收到发放新人优惠券任务,未查到用户信息,bizId={}", asyncTask.getBizId());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 捞取优惠券
|
|
|
+ List<Coupon> couponList = couponService.list(new LambdaQueryWrapper<Coupon>()
|
|
|
+ .eq(Coupon::getType, CouponTypeEnum.TICKET_ORDER)
|
|
|
+ .eq(Coupon::getIsNewUserCoupon, 1));
|
|
|
+ if (CollectionUtils.isEmpty(couponList)) {
|
|
|
+ logger.info("未查到设置的新人优惠券,bizId={}", asyncTask.getBizId());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (Coupon coupon : couponList) {
|
|
|
+ couponService.distributeByNewUser(sysUser.getUserId(), coupon.getCouponId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|