|
@@ -4,11 +4,17 @@ 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.Goods;
|
|
|
import com.qs.mp.admin.domain.GoodsCard;
|
|
|
import com.qs.mp.admin.domain.Ticket;
|
|
|
import com.qs.mp.admin.domain.TicketBox;
|
|
|
+import com.qs.mp.admin.domain.TicketBoxGoods;
|
|
|
import com.qs.mp.admin.domain.TicketPackage;
|
|
|
+import com.qs.mp.admin.service.ICouponPkgService;
|
|
|
+import com.qs.mp.admin.service.ICouponService;
|
|
|
import com.qs.mp.admin.service.IGoodsCardService;
|
|
|
+import com.qs.mp.admin.service.IGoodsService;
|
|
|
+import com.qs.mp.admin.service.ITicketBoxGoodsService;
|
|
|
import com.qs.mp.admin.service.ITicketBoxService;
|
|
|
import com.qs.mp.admin.service.ITicketPackageService;
|
|
|
import com.qs.mp.admin.service.ITicketService;
|
|
@@ -31,6 +37,8 @@ import com.qs.mp.user.domain.UserTicketOrderItem;
|
|
|
import com.qs.mp.user.service.IUserDeliverOrderItemCardService;
|
|
|
import com.qs.mp.user.service.IUserDeliverOrderItemService;
|
|
|
import com.qs.mp.user.service.IUserDeliverOrderService;
|
|
|
+import com.qs.mp.user.service.IUserHitPrizeService;
|
|
|
+import com.qs.mp.user.service.IUserPrizeStorageService;
|
|
|
import com.qs.mp.user.service.IUserTicketOrderItemService;
|
|
|
import com.qs.mp.user.service.IUserTicketOrderService;
|
|
|
import java.util.ArrayList;
|
|
@@ -95,6 +103,22 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
|
|
|
@Autowired
|
|
|
private IUserDeliverOrderItemCardService userDeliverOrderItemCardService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ITicketBoxGoodsService ticketBoxGoodsService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICouponService couponService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICouponPkgService couponPkgService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGoodsService goodsService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserPrizeStorageService userPrizeStorageService;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean insertAsyncTask(AsyncTaskTypeEnum taskType, String bizId) {
|
|
@@ -164,6 +188,33 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
|
|
|
}
|
|
|
userTicketOrderService.commToChannel(orderId, ChannelCommissionResourceEnum.USER.getValue());
|
|
|
|
|
|
+
|
|
|
+ // 关联奖品发放
|
|
|
+ List<UserTicketOrderItem> userTicketOrderItemList = userTicketOrderItemService.list(
|
|
|
+ new LambdaQueryWrapper<UserTicketOrderItem>().eq(UserTicketOrderItem::getOrderId, orderId));
|
|
|
+ for (UserTicketOrderItem orderItem : userTicketOrderItemList) {
|
|
|
+ Ticket ticket = ticketService.getById(orderItem.getTicketId());
|
|
|
+ // TODO: 线上和线下票如果有关联商品,都要发送关联商品到用户的仓库中
|
|
|
+ List<TicketBoxGoods> ticketBoxGoodsList = ticketBoxGoodsService.list(new LambdaQueryWrapper<TicketBoxGoods>()
|
|
|
+ .eq(TicketBoxGoods::getBoxId, ticketOrder.getBoxId()));
|
|
|
+ if (CollectionUtils.isNotEmpty(ticketBoxGoodsList)) {
|
|
|
+ // 发送关联商品
|
|
|
+ for (TicketBoxGoods ticketBoxGoods : ticketBoxGoodsList) {
|
|
|
+ if (TicketBoxGoodsTypeEnum.GOODS.equals(ticketBoxGoods.getType())) {
|
|
|
+ Goods goods = goodsService.getById(Long.valueOf(ticketBoxGoods.getRefId()));
|
|
|
+ userPrizeStorageService.takeInStorage(orderItem.getUserId(),goods.getTitle(),goods.getPicUrl(),
|
|
|
+ ticketBoxGoods.getRefId(),PrizeStorageInTypeEnum.TICKET_GOODS,orderItem.getItemId());
|
|
|
+ } else if (TicketBoxGoodsTypeEnum.COUPON.equals(ticketBoxGoods.getType())) {
|
|
|
+ couponService.distribute(ticket, orderItem.getUserId(), ticketBoxGoods.getRefId());
|
|
|
+ } else if (TicketBoxGoodsTypeEnum.COUPON_PKG.equals(ticketBoxGoods.getType())) {
|
|
|
+ couponPkgService.distribute(ticket, orderItem.getUserId(), ticketBoxGoods.getRefId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|