lyhzzz 1 year ago
parent
commit
ebba65452a

+ 5 - 2
src/main/java/com/fdkankan/ucenter/mq/consumer/AutoOrderConsumer.java

@@ -56,15 +56,18 @@ public class AutoOrderConsumer {
             if(order == null){
                 return;
             }
-
+            Long  incrementId = null;
             List<UserIncrement> increments = userIncrementService.getByAutoOrderSn(order.getOrderSn());
+            if( increments.size()>0){
+                incrementId = increments.get(0).getId();
+            }
 
             switch (order.getEventType()){
                 case "PAYMENT.SALE.COMPLETED" :     //每日扣款
                     //Enum: "completed" "partially_refunded" "pending" "refunded" "denied"
                     switch (order.getState()){
                         case "completed" :      //扣款完成
-                            incrementOrder.handleOrder(order.getOrderSn(),order.getOrderSn(),order.getOrderSn(),2,null);
+                            incrementOrder.handleOrder(order.getOrderSn(),order.getOrderSn(),order.getOrderSn(),2,incrementId);
                             break;
                         case "partially_refunded" :
                             break;

+ 5 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -33,12 +33,16 @@ public class IncrementOrderImpl implements OrderStrategy {
     IAgentNewLogService agentNewLogService;
 
     @Override
-    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
+    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long incrementId) throws Exception {
+
         IncrementOrder responseIncrementOrder = incrementOrderService.getByOrderSn(orderSn);
         if (responseIncrementOrder == null) {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");
         }
+        if(incrementId != null){
+            responseIncrementOrder.setIncrementId(incrementId);
+        }
         // 更新增值权益订单
         boolean result = incrementOrderService.paySuccessIncrementOrder(orderSn, tradeNo, paymentTypeName);
         if (!result){

+ 1 - 0
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -415,6 +415,7 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     public List<UserIncrement> getByAutoOrderSn(String orderSn) {
         LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(UserIncrement::getSubscriptionOrder,orderSn);
+        wrapper.orderByAsc(UserIncrement::getCreateTime);
         return this.list(wrapper);
     }