zoujiajian 3 роки тому
батько
коміт
a2fa107bd8

+ 10 - 9
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -170,9 +170,18 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
             }
             orderDon.setStatus(OrderDon.Status.transport);
             updateById(orderDon);
+
+            GoodsDonSku sku = goodsDonSkuMapper.selectById(orderDon.getSkuId());
+            //库存扣减逻辑
+            List<GoodsSkuStockRelate> relateList = skuStockRelateMapper.selectList(Wrappers.lambdaQuery(GoodsSkuStockRelate.class).eq(GoodsSkuStockRelate::getSkuId,orderDon.getSkuId()));
+            if(!relateList.isEmpty()){
+                relateList.forEach((relate)->{
+                    goodsDonStockService.upStockRelate(relate.getStockId(),orderDon.getId(),"transport");
+                });
+            }
+
             //发放实物购买权益
             Boolean isReceivedAll = true;
-            GoodsDonSku sku = goodsDonSkuMapper.selectById(orderDon.getSkuId());
             if (sku != null) {
                 if (sku.getIsBenefits()) {
                     if (StrUtil.isNotEmpty(sku.getBenefitsList())) {
@@ -181,19 +190,11 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                             //自购实物 获取权益
                             isReceivedAll = userRealOrderBenefitsService.getPayRealGoodsBenefits(orderDon.getUserId(), orderDon.getId(), goodsDonSkus);
                         } catch (Exception e) {
-
                         }
                     }
                 }
             }
             final Boolean flag = isReceivedAll;
-            //库存扣减逻辑
-            List<GoodsSkuStockRelate> relateList = skuStockRelateMapper.selectList(Wrappers.lambdaQuery(GoodsSkuStockRelate.class).eq(GoodsSkuStockRelate::getSkuId,orderDon.getSkuId()));
-            if(!relateList.isEmpty()){
-                relateList.forEach((relate)->{
-                    goodsDonStockService.upStockRelate(relate.getStockId(),orderDon.getId(),"transport");
-                });
-            }
 
             //发送微信模板消息
 //            TASK_POOL.execute(()->{

+ 8 - 6
netflix-service/src/main/java/com/cyksj/service/order/impl/UserRealOrderBenefitsImpl.java

@@ -73,20 +73,22 @@ public class UserRealOrderBenefitsImpl implements UserRealOrderBenefitsService {
 			List<GroupsRelationView> relationViewList = groupsRelationMapper.selectRelationByGoodsId(goodsId, userId);
 			//是否有该规格车票,若无直接发放车票
 			if (CollUtil.isEmpty(relationViewList)) {
+				log.info("用户userId:{}未有skuId:{}车票,获取对应车票", userId, sku.getId());
 				//领取权益时,没有车票的用户自动上车,获得对应车票
 				GroupsRelation relation = exchangeCodeService.getGroupTripsTicket(sku, userId, null, OrderDon.Type.PAY_EQUIPMENT);
-				//多给三天
-				DateTime expiryTime = DateUtil.offsetDay(relation.getExpiryTime(), 3);
-				groupsRelationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
-						.set(GroupsRelation::getExpiryTime, expiryTime)
-						.eq(GroupsRelation::getId, relation.getId()));
+//				//多给三天
+//				DateTime expiryTime = DateUtil.offsetDay(relation.getExpiryTime(), 3);
+//				groupsRelationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
+//						.set(GroupsRelation::getExpiryTime, expiryTime)
+//						.eq(GroupsRelation::getId, relation.getId()));
 				saveReceiveBenefitsRecord(userId, skuId, orderId, relation.getOrderId(), relation.getId(), sku.getMonths(), sku.getDays(), 1);
+				log.info("用户userId:{}获取对应skuId:{}车票成功", userId, sku.getId());
 			} else if (relationViewList.size() == 1) {
 				//若有且只有一张增加时长
 				GroupsRelationView groupsRelationView = relationViewList.get(0);
 				Date expiryTime = groupsRelationView.getExpiryTime();
 				if (expiryTime == null) {
-					throw BusinessRuntimeException.getInstance("该车位暂未发车,请发车后再领取权益");
+					throw BusinessRuntimeException.getInstance("用户存在未发车的车票,请发车后再进行发货");
 				}
 				DateTime updateExpiryTime = DateUtil.offset(expiryTime, DateField.MONTH, sku.getMonths());
 				updateExpiryTime = DateUtil.offsetDay(updateExpiryTime, 3);