From 8392493854d03fbcc8df911c3f5e7b1430579853 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 23 Aug 2022 17:24:40 +0800
Subject: [PATCH] 20220822

---
 src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
index 5d9a08d..af48ea8 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
@@ -9,6 +9,7 @@
 import cc.mrbird.febs.pay.model.UniPayCallBackDto;
 import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -51,22 +52,27 @@
         log.info("进入汇聚支付回调"+orderNo+";"+orderAmount+";"+payTradeNo+";"+callBackState);
         if("100".equals(callBackState) && StrUtil.isNotBlank(orderNo)){
             MallOrderInfo orderInfo = orderInfoMapper.selectByOrderNo(orderNo);
-            BigDecimal amount = orderInfo.getAmount();
-//            if(amount.compareTo(orderAmount) == 0){
-                MallMember member = memberService.getById(orderInfo.getMemberId());
-                if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
-                    member.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
-                    memberService.updateById(member);
+            if(ObjectUtil.isNotEmpty(orderInfo)){
+                Integer status = orderInfo.getStatus();
+                if(OrderStatusEnum.WAIT_PAY.getValue() == status){
+//              BigDecimal amount = orderInfo.getAmount();
+//              if(amount.compareTo(orderAmount) == 0){
+                    MallMember member = memberService.getById(orderInfo.getMemberId());
+                    if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
+                        member.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
+                        memberService.updateById(member);
+                    }
+
+                    orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
+                    orderInfo.setPayResult("1");
+                    orderInfo.setPayTime(new Date());
+                    orderInfo.setPayTradeNo(payTradeNo);
+                    orderInfoMapper.updateById(orderInfo);
+
+                    agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
+//              }
                 }
-
-                orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
-                orderInfo.setPayResult("1");
-                orderInfo.setPayTime(new Date());
-                orderInfo.setPayTradeNo(payTradeNo);
-                orderInfoMapper.updateById(orderInfo);
-
-                agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
-//            }
+            }
         }
         return "success";
     }

--
Gitblit v1.9.1