xiaoyong931011
2022-08-23 8392493854d03fbcc8df911c3f5e7b1430579853
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";
    }