KKSU
2024-09-10 f52cfc92db48d9a215d7f728ce4000de1cdd6ae2
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){
@@ -127,7 +131,7 @@
                    MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId());
                    if (hasTc) {
                        if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
                            mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
                            mallMember.setLevel(AgentLevelEnum.SECOND_LEVEL.name());
                            memberMapper.updateById(mallMember);
                        }
                    }
@@ -240,7 +244,7 @@
                    MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId());
                    if (hasTc) {
                        if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
                            mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
                            mallMember.setLevel(AgentLevelEnum.SECOND_LEVEL.name());
                            memberMapper.updateById(mallMember);
                        }
                    }
@@ -254,4 +258,49 @@
        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;
    }
}