瀏覽代碼

fix 实物权益车票更换时,更新关联关系

zoujiajian 2 年之前
父節點
當前提交
7b8d3a7b6e
共有 1 個文件被更改,包括 14 次插入2 次删除
  1. 14 2
      netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

+ 14 - 2
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -25,6 +25,7 @@ import com.cyksj.config.zfb.AliPayClientFactory;
 import com.cyksj.dto.RedisKey;
 import com.cyksj.mapper.*;
 import com.cyksj.mapper.channel.ShopConfigMapper;
+import com.cyksj.mapper.channel.UserPayEquipmentReceiveBenefitsRecordMapper;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
 import com.cyksj.mapper.manage.distribute.DistributeWaitingSendPointsMapper;
 import com.cyksj.mapper.manage.distribute.UserDistributeBusinessOrderDonRecordMapper;
@@ -52,7 +53,6 @@ import com.cyksj.service.relation.GroupRelationClearService;
 import com.cyksj.service.relation.GroupsRelationExpiryRecordService;
 import com.cyksj.service.stripe.StripeService;
 import com.cyksj.service.user.UserBenefitsService;
-import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.wechat.WeChatService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.util.MapUtils;
@@ -144,7 +144,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
 
     private final BeanSearcher beanSearcher;
 
-    private final UserBindRelationService userBindRelationService;
+    private final UserPayEquipmentReceiveBenefitsRecordMapper receiveBenefitsRecordMapper;
 
     private final GroupsRelationExpiryRecordService groupsRelationExpiryRecordService;
 
@@ -394,6 +394,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                 .eq(OrderDon::getUserId, userId)
                 .eq(OrderDon::getRelationId, relationId)
                 .notIn(OrderDon::getStatus, Constant.noOrderStatus)
+                .orderByDesc(OrderDon::getId)
                 .last("limit 1"));
         OrderDiscountPlusPurchaseSkuRelation plusPurchaseSkuRelation = null;
         List<Long> plus_relationList = null;
@@ -482,6 +483,17 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                     .eq(WorkOrder::getRelationId, relationId));
         }
 
+        if (orderDon.getMoney() != null && orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
+            //是否是实物权益车票
+            UserPayEquipmentReceiveBenefitsRecord receiveBenefitsRecord = receiveBenefitsRecordMapper.selectOne(Wrappers.lambdaQuery(UserPayEquipmentReceiveBenefitsRecord.class)
+                    .eq(UserPayEquipmentReceiveBenefitsRecord::getTicketOrderId, orderDon.getId())
+                    .eq(UserPayEquipmentReceiveBenefitsRecord::getRelationId, relationId).last("limit 1"));
+            if (receiveBenefitsRecord != null) {
+                receiveBenefitsRecord.setRelationId(newRelation.getId());
+                receiveBenefitsRecordMapper.updateById(receiveBenefitsRecord);
+            }
+        }
+
         if ((newRelation.getStartTime() == null || newRelation.getExpiryTime() == null)) {
             List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, userId).eq(OrderDon::getRelationId, relationId).eq(OrderDon::getStatus, OrderDon.Status.hasPayment));
             if (orderDonList.isEmpty()) {