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