From 4e124926ee6ee682084466067ae37550fca475fa Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 05 八月 2025 11:39:48 +0800 Subject: [PATCH] 代码提交 世界杯修改支付宝资金结算功能 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 50 insertions(+), 3 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java index 0ade7ca..cae4036 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java @@ -106,7 +106,6 @@ /** * 查询社区世界杯收入--管理后台 - * @param storeId * @return */ @ResponseBody @@ -654,7 +653,7 @@ @ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "Long"), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil cancelMyWorldCup(Long id){ + public ResultUtil cancelMyWorldCup(Long id) throws Exception { return worldCupPaymentService.cancelMyWorldCup(id); } @@ -942,7 +941,7 @@ */ @ResponseBody @PostMapping("/worldCup/cancelWorldCupRefund") - public void cancelWorldCupRefund(@RequestBody Integer id){ + public void cancelWorldCupRefund(@RequestBody Integer id) throws Exception { worldCupService.cancelWorldCupRefund(id); } @@ -988,6 +987,54 @@ out.close(); } } + /** + * 取消赛事后微信退款回调微信V3回调 + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/worldCup/wxRefundWorldCupCallback1") + public void wxRefundWorldCupCallback1(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")) { + WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no)); + worldCupPayment.setRefundOrderNo(code); + worldCupPayment.setRefundTime(new Date()); + worldCupPayment.setPayStatus(3); + worldCupPayment.setWorldCupId(null); + worldCupPaymentService.updateById(worldCupPayment); + PrintWriter out = response.getWriter(); + out.write("SUCCESS"); + out.flush(); + out.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } /** -- Gitblit v1.7.1