From b502ac4e96aca2ab29caa77187ab7673a853a797 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 25 十一月 2025 15:20:38 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/JiaYiXing2025
---
ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java | 146 +++++++++++++++++++++++++++++++++---------------
1 files changed, 99 insertions(+), 47 deletions(-)
diff --git a/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java b/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
index 7bc71db..08bd909 100644
--- a/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
+++ b/ManagementJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java
@@ -13,6 +13,7 @@
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.util.Base64Util;
import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
@@ -22,6 +23,8 @@
import com.unionpay.upyzt.exception.UpyztException;
import com.unionpay.upyzt.resp.AllocationResp;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@@ -33,10 +36,14 @@
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.math.BigDecimal;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* 小件物流订单控制器
@@ -79,6 +86,8 @@
private PayMoneyUtil payMoneyUtil;
@Autowired
private IUserCouponRecordService userCouponRecordService;
+ @Autowired
+ private DouGongRefundBiz douGongRefundBiz;
/**
* 跳转到小件物流订单首页
@@ -152,6 +161,7 @@
try{
ShiroUser user = ShiroKit.getUser();
TOrderLogistics tOrderLogistics = tOrderLogisticsService.selectById(tOrderLogisticsId);
+ Integer orgState = tOrderLogistics.getState();
tOrderLogistics.setState(10);
//已支付的情况下进行退款操作
@@ -184,14 +194,38 @@
List<PaymentRecord> querys = paymentRecordService.query_(1, tOrderLogistics.getUserId(), 1, tOrderLogistics.getId(), tOrderLogistics.getType(), tOrderLogistics.getPayType(), 2);
System.out.println(querys);
boolean b = false;
+ List<Integer> orderIds = querys.stream().map(PaymentRecord::getOrderId).collect(Collectors.toList());
+ Map<Integer, TOrderLogistics> orderLogisticsMap = Collections.emptyMap();
+ if (CollectionUtils.isNotEmpty(orderIds)) {
+ orderLogisticsMap = tOrderLogisticsService.selectList(new EntityWrapper<TOrderLogistics>()
+ .in("id", orderIds).isNotNull("outTradeNo"))
+ .stream().collect(Collectors.toMap(TOrderLogistics::getId, Function.identity()));
+ }
for (PaymentRecord query : querys) {
System.out.println("支付方式:"+query.getPayType());
if(query.getPayType() == 1){//微信
- Map<String, String> map = payMoneyUtil.wxRefund(query.getCode(), tOrderLogistics.getId() + "_" + tOrderLogistics.getType() + "_" + UUIDUtil.getRandomCode(5), query.getAmount().toString(), query.getAmount().toString(), "/base/cancleOrderWXPay");
- System.out.println("map:"+map);
- if(!"SUCCESS".equals(map.get("return_code"))){
- return ResultUtil.error(map.get("return_msg"));
+ //Map<String, String> map = payMoneyUtil.wxRefund(query.getCode(), tOrderLogistics.getId() + "_" + tOrderLogistics.getType() + "_" + UUIDUtil.getRandomCode(5), query.getAmount().toString(), query.getAmount().toString(), "/base/cancleOrderWXPay");
+ //System.out.println("map:"+map);
+ //if(!"SUCCESS".equals(map.get("return_code"))){
+ // return ResultUtil.error(map.get("return_msg"));
+ //}
+ TOrderLogistics orderLogistics = orderLogisticsMap.get(query.getOrderId());
+ if (Objects.isNull(orderLogistics)) {
+ log.error("小件物流取消订单退款失败,未找到对应的斗拱支付订单,orderId={}", query.getOrderId());
+ continue;
}
+ String refundReqSeqId = RequestSeqUtil.generate("TK");
+ Map<String, Object> refund = douGongRefundBiz.refund(refundReqSeqId, BigDecimal.valueOf(query.getAmount()), DateUtil.format(query.getInsertTime(), "yyyyMMdd"), orderLogistics.getOutTradeNo(), 1);
+ orderLogistics.setRefundReqSeqId(refundReqSeqId);
+ orderLogistics.setState(orgState);
+ tOrderLogistics.setState(orgState);
+ if ("00000000".equals(refund.get("resp_code")) && "S".equals(refund.get("trans_stat"))) {
+ orderLogistics.setState(10);
+ tOrderLogistics.setState(10);
+ }else if (!"00000000".equals(refund.get("resp_code"))) {
+ return ResultUtil.error("订单取消失败:" + refund.get("resp_desc").toString());
+ }
+ tOrderLogisticsService.updateById(orderLogistics);
}
}
}
@@ -283,60 +317,78 @@
AllocationReq allocationReq= new AllocationReq();
allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
- if(type==1){
-
- allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
-
- allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode()));
- }else {
- allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId());
- allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode()));
- }
- 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();
+ 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()));
+ 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()));
+ result = FenZhangUtil.payFromUser(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
+ }
+ if ("00000000".equals(result.get("respCode").toString())) {
+ return "ok";
+ } else {
+ return result.get("respDesc").toString();
+ }
+ } catch (Exception e) {
+ log.error("分账异常", e);
+ throw new RuntimeException(e);
}
+ //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) throws Exception {
+ public String createAllocationReqUser(Integer companyId,Integer userId,int type,double money) {
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));
- Map<String, Object> result;
- if(type==1){
+ //AllocationReq allocationReq= new AllocationReq();
+ //allocationReq.setOutOrderNo(ToolUtil.getRandomString(32));
+ try {
+ 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()));
- 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()));
- result = FenZhangUtil.payFromUser(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
- }
- if ("00000000".equals(result.get("respCode").toString())) {
- return "ok";
- } else {
- return result.get("respDesc").toString();
+ //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()));
+ result = FenZhangUtil.payFromUser(RequestSeqUtil.generate("TK"), DateUtil.formatDate(new Date(), "yyyyMMdd"), String.valueOf(money), userWithdrawals.get(0).getHuiFuId());
+ }
+ if ("00000000".equals(result.get("respCode").toString())) {
+ return "ok";
+ } else {
+ return result.get("respDesc").toString();
+ }
+ } catch (Exception e) {
+ log.error("分账异常", e);
+ throw new RuntimeException(e);
}
//money=money*100;
//allocationReq.setAmount((int)money);
--
Gitblit v1.7.1