xiaoyong931011
2023-10-12 c4bf5ac4f2316110c416fbf4cdec1dddc91f5860
src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
@@ -14,10 +14,7 @@
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallAchieveService;
import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.pay.model.AgreeMentPayCallBackDto;
import cc.mrbird.febs.pay.model.AgreeMentPaySmsDto;
import cc.mrbird.febs.pay.model.AgreementSignDto;
import cc.mrbird.febs.pay.model.UniPayCallBackDto;
import cc.mrbird.febs.pay.model.*;
import cc.mrbird.febs.pay.service.UnipayService;
import cc.mrbird.febs.pay.util.JsonUtil;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
@@ -27,6 +24,7 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -75,6 +73,12 @@
    private MallMemberBankMapper mallMemberBankMapper;
    @Autowired
    private MallMemberBankSignMapper mallMemberBankSignMapper;
    @Autowired
    private MallMemberWithdrawMapper mallMemberWithdrawMapper;
    @Autowired
    private MallMoneyFlowMapper mallMoneyFlowMapper;
    private final IApiMallMemberWalletService iApiMallMemberWalletService;
    @GetMapping(value = "/unipayCallBack")
    public String unipayCallBack(HttpServletRequest request, UniPayCallBackDto uniPayCallBackDto){
@@ -133,8 +137,6 @@
                    }
                    mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                    agentProducer.sendAutoLevelUpMsg(mallMember.getId());
                    agentProducer.sendOrderReturn(orderInfo.getId());
                }
            }
        }
@@ -246,12 +248,55 @@
                    }
                    mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                    agentProducer.sendAutoLevelUpMsg(mallMember.getId());
                    agentProducer.sendOrderReturn(orderInfo.getId());
                }
            }
        }
        return "success";
    }
    @PostMapping(value = "/singlePayCallBack")
    public JSONObject singlePayCallBack(@RequestBody SinglePayCallBackDto singlePayCallBackDto){
        log.info("进入汇聚支付代付回调"+ JSONUtil.parseObj(singlePayCallBackDto));
        String status = singlePayCallBackDto.getStatus();
        BigDecimal paidAmount = singlePayCallBackDto.getPaidAmount();
        BigDecimal paidAmountFee = singlePayCallBackDto.getFee();
        String errorCode = singlePayCallBackDto.getErrorCode();
        String errorCodeDesc = singlePayCallBackDto.getErrorCodeDesc();
        String merchantOrderNo = singlePayCallBackDto.getMerchantOrderNo();
        log.info("进入汇聚支付代付回调"+status+";"+paidAmount+";"+paidAmountFee+";");
        if("205".equals(status) && "".equals(errorCode)){
            QueryWrapper<MallMemberWithdraw> objectQueryWrapper = new QueryWrapper<>();
            objectQueryWrapper.eq("withdraw_no",merchantOrderNo);
            MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectOne(objectQueryWrapper);
            if(ObjectUtil.isNotEmpty(mallMemberWithdraw)){
                mallMemberWithdraw.setStatus(2);
                mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
                QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
                flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
                flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
                MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
                if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
                    mallMoneyFlow.setStatus(2);
                    mallMoneyFlowMapper.updateById(mallMoneyFlow);
                }
            }
        }else{
            QueryWrapper<MallMemberWithdraw> objectQueryWrapper = new QueryWrapper<>();
            objectQueryWrapper.eq("withdraw_no",merchantOrderNo);
            MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectOne(objectQueryWrapper);
            if(ObjectUtil.isNotEmpty(mallMemberWithdraw)){
                mallMemberWithdraw.setRemark(errorCodeDesc);
                mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
            }
        }
        SinglePayCallBackVo singlePayCallBackVo = new SinglePayCallBackVo();
        singlePayCallBackVo.setStatusCode("2001");
        singlePayCallBackVo.setMessage("成功");
        JSONObject jsonObject = JSONUtil.parseObj(singlePayCallBackVo);
        return jsonObject;
    }
}