浏览代码

Merge branch 'dev' into 'mp-server-test'

盲票售卖后结佣

See merge request quanshu/mp-server!139
zhong chunping 3 年之前
父节点
当前提交
cee72ec2f1
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java

+ 9 - 3
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java

@@ -21,11 +21,13 @@ import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.system.service.id.BizIdGenerator;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserCouponChannel;
+import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.service.IUserCouponChannelService;
 import com.qs.mp.user.service.IUserCouponService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
 
+import com.qs.mp.user.service.IUserTicketOrderService;
 import java.util.List;
 
 import org.slf4j.Logger;
@@ -65,6 +67,9 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
   @Autowired
   private IUserTicketOrderItemService userTicketOrderItemService;
 
+	@Autowired
+	private IUserTicketOrderService userTicketOrderService;
+
 	@Autowired
 	private IChannelService channelService;
 
@@ -90,16 +95,17 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
     // 确定限定范围
     if (coupon.getUseArea() == CouponUseAreaEnum.POST_SCOPE) {
       UserTicketOrderItem orderItem = userTicketOrderItemService.queryFinishedOrderItem(userId, ticket.getTicketId());
-      if (null == orderItem || null == orderItem.getChannelId()) {
+			UserTicketOrder ticketOrder = userTicketOrderService.getById(orderItem.getOrderId());
+      if (null == orderItem || null == ticketOrder.getChannelId()) {
         LogUtil.error(logger, "优惠券的限定使用范围类型为发放时生成,但找不到关联的渠道ID。orderItem:{0}", new Object[]{
             JSONObject.toJSONString(orderItem)});
         throw new ServiceException("优惠券发放失败");
       }
       UserCouponChannel userCouponChannel = new UserCouponChannel();
       userCouponChannel.setUserCouponId(userCoupon.getId());
-      userCouponChannel.setChannelId(orderItem.getChannelId());
+      userCouponChannel.setChannelId(ticketOrder.getChannelId());
       userCouponChannelService.save(userCouponChannel);
-			Channel channel = channelService.getById(orderItem.getChannelId());
+			Channel channel = channelService.getById(ticketOrder.getChannelId());
 			userCoupon.setUseAreaDesc(channel.getName());
     }
 		userCouponService.save(userCoupon);