From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index ca5439a..3a637db 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -709,6 +709,7 @@
})
public ResultUtil cancelMySite(Integer id) {
try {
+ System.err.println("预约数据id");
Integer uid = tokenUtil.getUserIdFormRedis();
if (null == uid) {
return ResultUtil.tokenErr();
@@ -756,7 +757,59 @@
e.printStackTrace();
}
}
+ /**
+ * 微信退款回调V3服务商版本
+ *
+ * @param request
+ * @param response
+ */
+ @ResponseBody
+ @PostMapping("/base/site/cancelMySiteCallback1")
+ public void cancelMySiteCallback1(HttpServletRequest request, HttpServletResponse response) {
+ try {
+ System.err.println("微信回调");
+ System.err.println("请求" + request);
+ BufferedReader reader = request.getReader();
+ String string1 = reader.toString();
+ System.err.println("请求reader" + string1);
+ StringBuilder requestBody = new StringBuilder();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ requestBody.append(line);
+ }
+ System.err.println("全部请求体" + requestBody);
+ JSONObject jsonObject = JSONObject.parseObject(requestBody.toString());
+ JSONObject resource = jsonObject.getJSONObject("resource");
+ AesUtil aesUtil = new AesUtil(WxV3PayConfig.apiV3Key.getBytes(StandardCharsets.UTF_8));
+ String decryptedData = aesUtil.decryptToString(resource.getString("associated_data").getBytes(StandardCharsets.UTF_8), resource.getString("nonce").getBytes(StandardCharsets.UTF_8),
+ resource.getString("ciphertext"));
+ System.err.println("微信解密的字符串信息" + decryptedData);
+ JSONObject jsonInfo = (JSONObject) JSONObject.parse(decryptedData);
+ String code = jsonInfo.getString("out_trade_no");
+ String transaction_id = jsonInfo.getString("transaction_id");
+ String refund_status = jsonInfo.getString("refund_status");
+ String out_refund_no = jsonInfo.getString("out_refund_no");
+ if (refund_status.equals("SUCCESS")) {
+ SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("orderNo", code).eq("state", 1));
+ siteBooking.setStatus(5);
+ siteBooking.setCancelTime(new Date());
+ siteBooking.setRefundOrderNo(out_refund_no);
+ siteBookingService.updateById(siteBooking);
+ if (null != siteBooking.getUserCouponId()) {
+ UserCoupon userCoupon = userCouponClient.queryUserCouponById(new QueryUserCouponByIdAndUserId(siteBooking.getUserCouponId(), siteBooking.getAppUserId()));
+ userCoupon.setStatus(1);
+ userCouponClient.updateUserCoupon(userCoupon);
+ }
+ PrintWriter out = response.getWriter();
+ out.write("SUCCESS");
+ out.flush();
+ out.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
@ResponseBody
@PostMapping("/api/site/continuePaymentMySite")
--
Gitblit v1.7.1