From d61840f8cf23015f9d2012d7231e21cdf062cd54 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 27 十一月 2025 15:01:55 +0800
Subject: [PATCH] 用户端退款修改
---
UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/DouGongNotifyController.java | 80 +++++++++++++++++++++++++++++++++++++--
1 files changed, 75 insertions(+), 5 deletions(-)
diff --git a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/DouGongNotifyController.java b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/DouGongNotifyController.java
index 7244674..690281f 100644
--- a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/DouGongNotifyController.java
+++ b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/DouGongNotifyController.java
@@ -1,8 +1,13 @@
package com.stylefeng.guns.modular.huifu;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.huifu.bspay.sdk.opps.core.utils.RsaUtils;
+import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
+import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.huifu.properties.HuiFuProperties;
+import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
+import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -11,6 +16,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Objects;
/**
* @author mitao
@@ -22,22 +30,84 @@
public class DouGongNotifyController {
@Autowired
private HuiFuProperties huiFuProperties;
-
+ @Autowired
+ private IOrderCrossCityService orderCrossCityService;
+ @Autowired
+ private IOrderLogisticsService orderLogisticsService;
/**
* 斗拱主动取现接口回调
* @param request
* @param response
*/
- @PostMapping("/encashment")
- public void encashment(HttpServletRequest request, HttpServletResponse response) {
+ @PostMapping("/refund-logistics")
+ public void refundLogistics(HttpServletRequest request, HttpServletResponse response) {
String sign =request.getParameter("sign");
String resp_data = request.getParameter("resp_data");
- log.info("");
+ log.info("斗拱用户提现回调响应内容:{}", resp_data);
+ // 使用汇付公钥验签
resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
boolean verify = RsaUtils.verify(resp_data, huiFuProperties.getRsaPublicKey(), sign);
if(verify){
JSONObject respDataJson = JSONObject.parseObject(resp_data);
-
+ String reqSeqId = respDataJson.getString("req_seq_id");
+ String orgReqSeqId = respDataJson.getString("org_req_seq_id");
+ String transStat = respDataJson.getString("trans_stat");//S:成功 F:失败 P:处理中;示例值:S
+ OrderLogistics orderLogistics = orderLogisticsService.selectOne(new EntityWrapper<OrderLogistics>()
+ .eq("refundReqSeqId", reqSeqId).or().eq("outTradeNo", orgReqSeqId).last("limit 1"));
+ if (Objects.isNull(orderLogistics)) {
+ return;
+ }
+ if ("S".equalsIgnoreCase(transStat)) {
+ orderLogistics.setState(10);
+ }
+ orderLogisticsService.updateById(orderLogistics);
+ log.info("更新小件物流取消订单状态成功,更新内容“{}", JSONObject.toJSON(orderLogistics));
+ PrintWriter writer = null;
+ try {
+ writer = response.getWriter();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ writer.print("200");
+ writer.close();
+ }
+ }
+ /**
+ * 斗拱主动取现接口回调
+ * @param request
+ * @param response
+ */
+ @PostMapping("/refund-crosscity")
+ public void refundCrossCity(HttpServletRequest request, HttpServletResponse response) {
+ String sign =request.getParameter("sign");
+ String resp_data = request.getParameter("resp_data");
+ log.info("斗拱用户提现回调响应内容:{}", resp_data);
+ // 使用汇付公钥验签
+ resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")");
+ boolean verify = RsaUtils.verify(resp_data, huiFuProperties.getRsaPublicKey(), sign);
+ if(verify){
+ JSONObject respDataJson = JSONObject.parseObject(resp_data);
+ String reqSeqId = respDataJson.getString("req_seq_id");
+ String orgReqSeqId = respDataJson.getString("org_req_seq_id");
+ String transStat = respDataJson.getString("trans_stat");//S:成功 F:失败 P:处理中;示例值:S
+ OrderCrossCity orderCrossCity = orderCrossCityService.selectOne(new EntityWrapper<OrderCrossCity>()
+ .eq("refundReqSeqId", reqSeqId).or().eq("outTradeNo", orgReqSeqId).last("limit 1"));
+ if (Objects.isNull(orderCrossCity)) {
+ return;
+ }
+ if ("S".equalsIgnoreCase(transStat)) {
+ orderCrossCity.setState(10);
+ }
+ orderCrossCityService.updateById(orderCrossCity);
+ log.info("更新跨城订单取消订单状态成功,更新内容“{}", JSONObject.toJSON(orderCrossCity));
+ PrintWriter writer = null;
+ try {
+ writer = response.getWriter();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ writer.print("200");
+ writer.close();
}
}
}
--
Gitblit v1.7.1