From e0faebd41278c2e9389a26f39b2bfff63d68103d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 02 六月 2023 23:36:08 +0800
Subject: [PATCH] 更新部分代码

---
 user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java
index facf287..f039b71 100644
--- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java
+++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/api/AppUserController.java
@@ -8,6 +8,8 @@
 import com.supersavedriving.user.modular.system.model.AppUser;
 import com.supersavedriving.user.modular.system.model.SystemConfig;
 import com.supersavedriving.user.modular.system.service.*;
+import com.supersavedriving.user.modular.system.util.MallBook.model.InterfaceResponse;
+import com.supersavedriving.user.modular.system.util.MallBook.util.RSASignature;
 import com.supersavedriving.user.modular.system.util.PayMoneyUtil;
 import com.supersavedriving.user.modular.system.util.RedisUtil;
 import com.supersavedriving.user.modular.system.util.ResultUtil;
@@ -20,10 +22,7 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -110,7 +109,7 @@
 
     @ResponseBody
     @PostMapping("/base/appUser/queryNearbyDrivers")
-//    @ServiceLog(name = "获取附近的司机", url = "/base/appUser/queryNearbyDrivers")
+    @ServiceLog(name = "获取附近的司机", url = "/base/appUser/queryNearbyDrivers")
     @ApiOperation(value = "获取附近的司机", tags = {"用户端-首页"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "经度", name = "lon", required = true, dataType = "string"),
@@ -312,19 +311,26 @@
     @ResponseBody
     @PostMapping("/base/appUser/rechargeBalanceCallback")
 //    @ServiceLog(name = "余额充值回调", url = "/base/appUser/rechargeBalanceCallback")
-    public void rechargeBalanceCallback(HttpServletRequest request, HttpServletResponse response){
+    public void rechargeBalanceCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
         try {
-            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
-            if(null != map){
-                String out_trade_no = map.get("out_trade_no");
-                String transaction_id = map.get("transaction_id");
-                String result = map.get("result");
-                String orderId = out_trade_no.substring(17);
-                appUserService.rechargeBalanceCallback(out_trade_no, transaction_id);
+            // 验签
+            boolean verify = RSASignature.validate(interfaceResponse.content(), interfaceResponse.getSign());
+            if (verify) {//验签成功业务处理逻辑
+                if(!"0000".equals(interfaceResponse.getCode())){
+                    System.err.println("充值回调异常:" + interfaceResponse.getMsg());
+                    return;
+                }
+                JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult());
+                String merOrderId = jsonObject.getString("merOrderId");
+                String orderId = jsonObject.getString("parameter1");
+                appUserService.rechargeBalanceCallback(orderId, merOrderId);
+                response.setStatus(200);
                 PrintWriter out = response.getWriter();
-                out.print(result);
+                out.print("OK");
                 out.flush();
                 out.close();
+            } else {//验签失败业务处理逻辑
+                System.err.println("支付回调验签失败");
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -522,7 +528,7 @@
             phone = phone.indexOf("+86") < 0 ? "+86" + phone : phone;
             String value = redisUtil.getValue(phone);
             if(ToolUtil.isEmpty(value) || !value.equals(code)){
-                resultUtil = ResultUtil.error("验证码无效");
+                return ResponseWarpper.success(ResultUtil.error("验证码无效"));
             }
             redisUtil.remove(phone);
             return ResponseWarpper.success(resultUtil);

--
Gitblit v1.7.1