From b6a76de40ec625b440b28d8ec7977d355eec01c8 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 02 Sep 2022 17:08:11 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackDto.java | 22 +++++++++++ src/test/java/cc/mrbird/febs/ProfitTest.java | 2 src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackVo.java | 9 ++++ src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 10 ----- src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java | 44 ++++++++++++++++++++-- 5 files changed, 72 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index d7d88f3..c3503d4 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -178,16 +178,6 @@ return new FebsResponse().fail().message("提现失败,请联系技术人员"); } - mallMemberWithdraw.setStatus(2); - mallMemberWithdrawMapper.updateById(mallMemberWithdraw); - - QueryWrapper<MallMoneyFlow> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); - objectQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); - mallMoneyFlow.setStatus(2); - mallMoneyFlowMapper.updateById(mallMoneyFlow); - return new FebsResponse().success(); } 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 d7779f7..4a10555 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java +++ b/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,10 @@ private MallMemberBankMapper mallMemberBankMapper; @Autowired private MallMemberBankSignMapper mallMemberBankSignMapper; + @Autowired + private MallMemberWithdrawMapper mallMemberWithdrawMapper; + @Autowired + private MallMoneyFlowMapper mallMoneyFlowMapper; @GetMapping(value = "/unipayCallBack") public String unipayCallBack(HttpServletRequest request, UniPayCallBackDto uniPayCallBackDto){ @@ -254,4 +256,38 @@ return "success"; } + @PostMapping(value = "/singlePayCallBack") + public SinglePayCallBackVo 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 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); + } + } + } + SinglePayCallBackVo singlePayCallBackVo = new SinglePayCallBackVo(); + singlePayCallBackVo.setStatusCode("2001"); + singlePayCallBackVo.setMessage("成功"); + return singlePayCallBackVo; + } + } diff --git a/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackDto.java b/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackDto.java new file mode 100644 index 0000000..f97407b --- /dev/null +++ b/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackDto.java @@ -0,0 +1,22 @@ +package cc.mrbird.febs.pay.model; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SinglePayCallBackDto { + + private String status;//交易状态 + private String errorCode;//错误码 + private String errorCodeDesc;//错误描述 + private String userNo;//商户编号 + private String tradeMerchantNo;//报备商户号 + private String merchantOrderNo;//商户订单号 + private String platformSerialNo;//平台流水号 + private String receiverAccountNoEnc;//收款账户号 + private String receiverNameEnc;//收款人 + private BigDecimal paidAmount;//交易金额 + private BigDecimal fee;//手续费 + private String hmac;//签名数据 +} diff --git a/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackVo.java b/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackVo.java new file mode 100644 index 0000000..f130d1f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/pay/model/SinglePayCallBackVo.java @@ -0,0 +1,9 @@ +package cc.mrbird.febs.pay.model; + +import lombok.Data; + +@Data +public class SinglePayCallBackVo { + private String statusCode; + private String message; +} diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index c9d6132..2530112 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -188,7 +188,7 @@ String orderNo = MallUtils.getOrderNum("W"); SinglePayDto singlePayDto = new SinglePayDto(); singlePayDto.setMerchantOrderNo(orderNo); - singlePayDto.setReceiverAccountNoEncBankNo("6222031901002389639"); + singlePayDto.setReceiverAccountNoEncBankNo("6222031903210023839639"); singlePayDto.setReceiverAccountNoEncName("肖永"); singlePayDto.setReceiverAccountType("201"); BigDecimal paidAmount = new BigDecimal(1.00); -- Gitblit v1.9.1