From ab8e6ef303c2792ed45933ba5ec38933b3954b72 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 19 十一月 2025 09:52:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java | 74 ++++++++++++++++++++++++++++++------
1 files changed, 61 insertions(+), 13 deletions(-)
diff --git a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
index 0227815..f02e175 100644
--- a/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
+++ b/UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
@@ -1,7 +1,9 @@
package com.stylefeng.guns.modular.api;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.huifu.bspay.sdk.opps.core.utils.RsaUtils;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.account.model.TEnterpriseWithdrawal;
@@ -31,6 +33,8 @@
import java.util.Date;
import java.util.Map;
+import static org.bouncycastle.asn1.x500.style.RFC4519Style.uid;
+
/**
* 支付回调
@@ -46,12 +50,56 @@
private PayMoneyUtil payMoneyUtil;
-
@Autowired
- private UserWithdrawalService userWithdrawalService;
+ private UserWithdrawalService userWithdrawalService;
@Autowired
private AppOrderController appOrderController;
+
+ /**
+ * 斗拱充值回调函数
+ }
+ * @param request
+ */
+ @ResponseBody
+ @PostMapping("/DGCancelUserBalance")
+ public void DGCancelUserBalance(HttpServletRequest request, HttpServletResponse response) {
+ try {
+ System.out.println("DG额充值回调函数");
+ String sign = request.getParameter("sign");
+ String resp_data = request.getParameter("resp_data");
+ System.out.println(sign);
+ System.out.println(resp_data);
+ resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;", ")");
+
+
+ boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign);
+
+ if (verify) {
+ JSONObject jsonObject = JSONObject.parseObject(resp_data);
+ String order_id = jsonObject.get("out_trans_id").toString();
+ String out_trade_no = jsonObject.get("req_seq_id").toString();
+ String trans_stat = jsonObject.get("trans_stat").toString();
+ if ("S".equals(trans_stat)) {
+ String[] split = out_trade_no.split("_");
+ Integer uid = Integer.valueOf(split[0]);
+ Integer id = Integer.valueOf(split[1]);
+ String payAmt = jsonObject.get("pay_amt").toString();
+ userInfoService.payCancelUserBalance(Integer.valueOf(uid), order_id, Integer.valueOf(id), 1);
+ appOrderController.createAllocationReqUser(1, Integer.valueOf(uid), 1, new BigDecimal(payAmt).divide(new BigDecimal(100)).doubleValue());
+ // cloudPay(Integer.valueOf(uid),map.get("total_fee"),map.get("transaction_id"),1);
+ PrintWriter out = response.getWriter();
+ out.write(200);
+ out.flush();
+ out.close();
+ }
+
+
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
/**
* 微信余额充值回调函数
@@ -59,7 +107,7 @@
*/
@ResponseBody
@PostMapping("/wxCancelUserBalance")
- public void wxCancelUserBalance(HttpServletRequest request, HttpServletResponse response){
+ public void wxCancelUserBalance(HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println("微信余额充值回调函数");
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
@@ -68,13 +116,13 @@
String uid = map.get("attach");
String result = map.get("result");
userInfoService.payCancelUserBalance(Integer.valueOf(uid), order_id, Integer.valueOf(id), 1);
- appOrderController.createAllocationReqUser(1,Integer.valueOf(uid),1,new BigDecimal(map.get("total_fee")).divide(new BigDecimal(100)).doubleValue());
- // cloudPay(Integer.valueOf(uid),map.get("total_fee"),map.get("transaction_id"),1);
+ appOrderController.createAllocationReqUser(1, Integer.valueOf(uid), 1, new BigDecimal(map.get("total_fee")).divide(new BigDecimal(100)).doubleValue());
+ // cloudPay(Integer.valueOf(uid),map.get("total_fee"),map.get("transaction_id"),1);
PrintWriter out = response.getWriter();
out.write(result);
out.flush();
out.close();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -86,7 +134,7 @@
*/
@ResponseBody
@PostMapping("/aliCancelUserBalance")
- public void aliCancelUserBalance(HttpServletRequest request, HttpServletResponse response){
+ public void aliCancelUserBalance(HttpServletRequest request, HttpServletResponse response) {
try {
System.out.println("支付宝余额充值回调");
Map<String, String> map = payMoneyUtil.alipayCallback(request);
@@ -94,23 +142,23 @@
String order_id = map.get("trade_no");
String uid = map.get("passback_params");
userInfoService.payCancelUserBalance(Integer.valueOf(uid), order_id, Integer.valueOf(id), 2);
- appOrderController.createAllocationReqUser(1,Integer.valueOf(uid),1,new BigDecimal(map.get("total_amount")).doubleValue());
+ appOrderController.createAllocationReqUser(1, Integer.valueOf(uid), 1, new BigDecimal(map.get("total_amount")).doubleValue());
// cloudPay(Integer.valueOf(uid),map.get("total_amount"),map.get("trade_no"),0);
PrintWriter out = response.getWriter();
out.print("success");
out.flush();
out.close();
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
}
- public void cloudPay(Integer uid,String total_fee,String transaction_id,int type) {
- if(type==1){
+ public void cloudPay(Integer uid, String total_fee, String transaction_id, int type) {
+ if (type == 1) {
BigDecimal divide = new BigDecimal(total_fee).divide(new BigDecimal(100));
- total_fee=divide.toString();
+ total_fee = divide.toString();
}
- System.out.println("回调参数:"+total_fee+"---"+transaction_id);
+ System.out.println("回调参数:" + total_fee + "---" + transaction_id);
UserInfo userInfo = userInfoService.selectById(uid);
UserWithdrawal driverWith = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>()
.eq("phone", userInfo.getPhone())
--
Gitblit v1.7.1