From 473a109a404797bc154834b0dfe87331a27aa7a8 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 24 十一月 2025 21:03:18 +0800
Subject: [PATCH] 斗拱退款对接
---
ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java | 137 +++++++++++++++++++++++++++++----------------
1 files changed, 87 insertions(+), 50 deletions(-)
diff --git a/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java b/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java
index 106abe8..e00cec5 100644
--- a/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java
+++ b/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java
@@ -8,10 +8,14 @@
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser;
+import com.stylefeng.guns.core.util.DateUtil;
+import com.stylefeng.guns.core.util.RequestSeqUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.cloudPayment.example.AllocationExample;
import com.stylefeng.guns.modular.cloudPayment.req.AllocationReq;
+import com.stylefeng.guns.modular.huifu.biz.DouGongRefundBiz;
+import com.stylefeng.guns.modular.huifu.biz.FenZhangUtil;
import com.stylefeng.guns.modular.system.controller.general.TDriverController;
import com.stylefeng.guns.modular.system.controller.util.Base64Util;
import com.stylefeng.guns.modular.system.controller.util.GetOpenBodySig;
@@ -71,6 +75,9 @@
@Value("${filePath}")
private String filePath;
+
+ @Autowired
+ private DouGongRefundBiz douGongRefundBiz;
/**
* 跳转到跨城出行订单首页
@@ -279,10 +286,17 @@
}
if(query.getPayType() == 1){//微信
- Map<String, String> map = payMoneyUtil.wxRefund(query.getCode(), tOrderCrossCityId + "_3", query.getAmount().toString(), query.getAmount().toString(), "/base/cancleOrderWXPay");
- if(!"SUCCESS".equals(map.get("return_code"))){
- return ResultUtil.error(map.get("return_msg"));
+ //Map<String, String> map = payMoneyUtil.wxRefund(query.getCode(), tOrderCrossCityId + "_3", query.getAmount().toString(), query.getAmount().toString(), "/base/cancleOrderWXPay");
+ //if(!"SUCCESS".equals(map.get("return_code"))){
+ // return ResultUtil.error(map.get("return_msg"));
+ //}
+ String refundReqSeqId = RequestSeqUtil.generate("TK");
+ Map<String, Object> refund = douGongRefundBiz.refund(refundReqSeqId, BigDecimal.valueOf(query.getAmount()), DateUtil.format(query.getInsertTime(), "yyyyMMdd"), orderCrossCity.getOutTradeNo(), 1);
+ orderCrossCity.setRefundReqSeqId(refundReqSeqId);
+ if (!"00000000".equals(refund.get("resp_code")) && "S".equals(refund.get("trans_stat"))) {
+ return ResultUtil.error("订单取消失败:" + refund.get("resp_desc").toString());
}
+ tOrderCrossCityService.updateById(orderCrossCity);
}else if(query.getPayType()==4){
// TODO 退款
TUser userInfo = userService.selectById(orderCrossCity.getUserId());
@@ -302,10 +316,17 @@
String billNo = orderCrossCity.getBillNo();
// cancleMoney(orderCrossCity.getPayMoney(),billNo);
}else{//支付宝
- Map<String, String> map = payMoneyUtil.aliRefund(query.getCode(), query.getAmount().toString());
- if(!"10000".equals(map.get("code"))){
- return ResultUtil.error(map.get("msg"));
+ //Map<String, String> map = payMoneyUtil.aliRefund(query.getCode(), query.getAmount().toString());
+ //if(!"10000".equals(map.get("code"))){
+ // return ResultUtil.error(map.get("msg"));
+ //}
+ String refundReqSeqId = RequestSeqUtil.generate("TK");
+ Map<String, Object> refund = douGongRefundBiz.refund(refundReqSeqId, BigDecimal.valueOf(query.getAmount()), DateUtil.format(query.getInsertTime(), "yyyyMMdd"), orderCrossCity.getOutTradeNo(), 1);
+ orderCrossCity.setRefundReqSeqId(refundReqSeqId);
+ if (!"00000000".equals(refund.get("resp_code")) && "S".equals(refund.get("trans_stat"))) {
+ return ResultUtil.error("订单取消失败:" + refund.get("resp_desc").toString());
}
+ tOrderCrossCityService.updateById(orderCrossCity);
//添加交易明细
transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, tOrderCrossCityId);
}
@@ -399,7 +420,7 @@
@Autowired
private IUserWithdrawalService userWithdrawalService;
- public String createAllocationReq(Integer companyId,Integer userId,int type,double money){
+ public String createAllocationReq(Integer companyId,Integer userId,int type,double money) throws Exception {
List<TEnterpriseWithdrawal> tEnterpriseWithdrawals = tEnterpriseWithdrawalService.selectList(new EntityWrapper<TEnterpriseWithdrawal>().eq("companyId", companyId));
TDriver tUser = tDriverService.selectById(userId);
List<UserWithdrawal> userWithdrawals = userWithdrawalService.selectList(new EntityWrapper<UserWithdrawal>().eq("phone", tUser.getPhone()));
@@ -407,69 +428,85 @@
return "error";
}
- AllocationReq allocationReq= new AllocationReq();
- allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
+ //AllocationReq allocationReq= new AllocationReq();
+ //allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
+ Map<String, Object> result;
if(type==1){
- allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
-
- allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode()));
+ //allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
+ //
+ //allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode()));
+ result = FenZhangUtil.fenzhang(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
}else {
- allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode()));
+ //allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode()));
+ result = FenZhangUtil.payFromUser(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
}
- money=money*100;
- allocationReq.setAmount((int)money);
- allocationReq.setProductName("分账");
- allocationReq.setProductCount(1);
- allocationReq.setOrderNo(ToolUtil.getRandomString(32));
- allocationReq.setOrderAmount(1l);
- try {
- AllocationResp allocationResp = AllocationExample.create(allocationReq);
- System.out.println(allocationResp);
+ if ("00000000".equals(result.get("respCode").toString())) {
return "ok";
- } catch (UpyztException e) {
- e.printStackTrace();
- return e.getMessage();
+ } else {
+ return result.get("respDesc").toString();
}
+ //money=money*100;
+ //allocationReq.setAmount((int)money);
+ //allocationReq.setProductName("分账");
+ //allocationReq.setProductCount(1);
+ //allocationReq.setOrderNo(ToolUtil.getRandomString(32));
+ //allocationReq.setOrderAmount(1l);
+ //try {
+ // AllocationResp allocationResp = AllocationExample.create(allocationReq);
+ // System.out.println(allocationResp);
+ // return "ok";
+ //} catch (UpyztException e) {
+ // e.printStackTrace();
+ // return e.getMessage();
+ //}
}
- public String createAllocationReqUser(Integer companyId,Integer userId,int type,double money){
+ public String createAllocationReqUser(Integer companyId,Integer userId,int type,double money) throws Exception {
List<TEnterpriseWithdrawal> tEnterpriseWithdrawals = tEnterpriseWithdrawalService.selectList(new EntityWrapper<TEnterpriseWithdrawal>().eq("companyId", companyId));
TUser tUser = userService.selectById(userId);
List<UserWithdrawal> userWithdrawals = userWithdrawalService.selectList(new EntityWrapper<UserWithdrawal>().eq("phone", tUser.getPhone()));
if(userWithdrawals.size()==0){
return "error";
}
- AllocationReq allocationReq= new AllocationReq();
- allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
+ //AllocationReq allocationReq= new AllocationReq();
+ //allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
+ Map<String, Object> result;
if(type==1){
- allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
-
- allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode()));
+ //allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
+ //
+ //allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode()));
+ result = FenZhangUtil.fenzhang(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
}else {
- allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode()));
+ //allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
+ //allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode()));
+ result = FenZhangUtil.payFromUser(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
}
- money=money*100;
- allocationReq.setAmount((int)money);
- allocationReq.setProductName("分账");
- allocationReq.setProductCount(1);
- allocationReq.setOrderNo(ToolUtil.getRandomString(32));
- allocationReq.setOrderAmount(1l);
- try {
- AllocationResp allocationResp = AllocationExample.create(allocationReq);
- System.out.println(allocationResp);
+ if ("00000000".equals(result.get("respCode").toString())) {
return "ok";
- } catch (UpyztException e) {
- e.printStackTrace();
- return e.getMessage();
+ } else {
+ return result.get("respDesc").toString();
}
+ //money=money*100;
+ //allocationReq.setAmount((int)money);
+ //allocationReq.setProductName("分账");
+ //allocationReq.setProductCount(1);
+ //allocationReq.setOrderNo(ToolUtil.getRandomString(32));
+ //allocationReq.setOrderAmount(1l);
+ //try {
+ // AllocationResp allocationResp = AllocationExample.create(allocationReq);
+ // System.out.println(allocationResp);
+ // return "ok";
+ //} catch (UpyztException e) {
+ // e.printStackTrace();
+ // return e.getMessage();
+ //}
}
--
Gitblit v1.7.1