From f69463ba6fd8b6672fe58aaaa811a5bc7e5ae8c0 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 19 八月 2025 09:00:29 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java | 69 +++++++++++++++++++++++++++++++++- 1 files changed, 66 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java index 34c3034..5550828 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java @@ -30,6 +30,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; +import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; @@ -79,11 +80,24 @@ requestBody.append(line); } System.err.println("全部请求体"+requestBody); - JSONObject jsonObject = JSONObject.parseObject(requestBody.toString()); - JSONObject resp_data = jsonObject.getJSONObject("resp_data"); + // URL解码 + String decodedBody = URLDecoder.decode(requestBody.toString(), "UTF-8"); + System.err.println("解码后请求体: " + decodedBody); + String[] paramsArray = decodedBody.split("&"); + String respDataJson = ""; + for (String param : paramsArray) { + if (param.startsWith("resp_data=")) { + respDataJson = param.substring(10); // 去掉"resp_data="前缀 + break; + } + } + System.err.println("处理后的"+respDataJson); + // 转换为JSONObject + JSONObject resp_data = JSONObject.parseObject(respDataJson); + System.err.println(resp_data); String string = resp_data.getString("trans_stat"); if (!string.equals("S")){ - return R.ok(); + System.err.println("陈工"); } String req_seq_id = resp_data.getString("req_seq_id"); String hf_seq_id = resp_data.getString("hf_seq_id"); @@ -111,6 +125,55 @@ return R.ok(null, "error"); } + public static void main(String[] args) { + String s = "resp_desc=交易成功[000]&resp_code=00000000&sign=PymKvUt5iBSn1EmBHu41ESxygYl80rHVRZVFlmipqg5zYSF/Yeq30ZJm0l5ztvIaGvUQChYQ5DAVkN/N+TYg1WU+FhMi/RTP15OpBAj8gGtYPyk7Z4lF9FLwiSGmX0RvCYWI5+LVsk10i7+j9332kAuB5GpKm0tOaDGULHZYlfrt5D5BgJ8RKdjYJ4OOV1Ex5J5PNLPYE5uc8rdzTQ9HHTu4N+sBOBV+tXJFYtSOoAaiDsRmv5Er8X8ogSlNODmaj7zBbZQHrPTTs8rtBl+YbQo28cmgykwdl9pPTMtAjkL9dX6/JVApquKgm9M+v8+CDT0MKjn/nyVE4J2EWc/7LQ==&" + + "resp_data={\"acct_date\":\"20250816\",\"acct_id\":\"F10004674\",\"acct_split_bunch\":{\"acct_infos\":[{\"acct_date\":\"20250816\",\"acct_id\":\"F10004674\",\"div_amt\":\"0.01\",\"huifu_id\":\"6666000174575407\"}],\"fee_acct_date\":\"20250816\",\"fee_acct_id\":\"F10004674\",\"fee_amt\":\"0.00\",\"fee_huifu_id\":\"6666000174575407\"},\"acct_stat\":\"S\",\"atu_sub_mer_id\":\"797542530\",\"avoid_sms_flag\":\"\",\"bagent_id\":\"6666000167477678\",\"bank_desc\":\"支付成功\",\"bank_message\":\"支付成功\",\"bank_order_no\":\"4200002762202508169050647775\"" + + ",\"bank_seq_id\":\"273346\",\"bank_type\":\"OTHERS\",\"base_acct_id\":\"F10004674\"," + + "\"batch_id\":\"250816\",\"channel_type\":\"N\",\"charge_flags\":\"758_0\",\"debit_type\"" + + ":\"0\",\"delay_acct_flag\":\"N\",\"div_flag\":\"0\",\"end_time\":\"20250816153144\"," + + "\"fee_amount\":\"0.00\",\"fee_amt\":\"0.00\",\"fee_flag\":2,\"fee_formula_infos\"" + + ":[{\"fee_formula\":\"MAX(0.00,AMT*0.005)\",\"fee_type\":\"TRANS_FEE\"}],\"fee_rec_type" + + "\":\"1\",\"fee_type\":\"INNER\",\"gate_id\":\"IB\",\"hf_seq_id\":\"002900TOP1B250816153133P665ac139cd300000\"" + + ",\"huifu_id\":\"6666000174575407\",\"is_delay_acct\":\"0\",\"is_div\":\"0\",\"maze_resp_code\":\"\",\"mer_nam" + + "e\":\"贵州中嘉瑞祺新能源科技有限公司\",\"mer_ord_id\":\"2025081615313312273346\",\"mypaytsf_discount\":\"0.00\",\"" + + "need_big_object\":false,\"notify_type\":2,\"org_auth_no\":\"\",\"org_huifu_seq_id\":\"\",\"org_t" + + "rans_date\":\"\",\"out_ord_id\":\"4200002762202508169050647775\",\"out_trans_id\":\"42" + + "00002762202508169050647775\",\"party_order_id\":\"032425081655893847103301\",\"pay" + + "_amt\":\"0.01\",\"pay_scene\":\"02\",\"posp_seq_id\":\"032425081655893847103301\"" + + ",\"product_id\":\"KAZX\",\"ref_no\":\"153133273346\",\"req_date\":\"202508" + + "16\",\"req_seq_id\":\"2025081615313312273346\",\"resp_code\":\"00000000" + + "\",\"resp_desc\":\"交易成功\",\"risk_check_data\":{},\"risk_check_info\":{" + + "},\"settlement_amt\":\"0.01\",\"sub_resp_code\":\"00000000\",\"sub_resp_desc\"" + + ":\"交易成功\",\"subsidy_stat\":\"I\",\"sys_id\":\"6666000174575407\",\"" + + "trade_type\":\"T_MINIAPP\",\"trans_amt\":\"0.01\",\"trans_date\":\"2025081" + + "6\",\"trans_fee_allowance_info\":{\"actual_fee_amt\":\"0.00\",\"allowance_fee_" + + "amt\":\"0.00\",\"allowance_type\":\"0\",\"receivable_fee_amt\":\"0.00\"},\"trans_s" + + "tat\":\"S\",\"trans_time\":\"153133\",\"trans_type\":\"T_MINIAPP\",\"ts_encash_detail\":[" + + "],\"wx_response\":{\"bank_type\":\"OTHERS\",\"coupon_fee\":\"0.00\",\"openid\":\"o8jhot3gj5UeqqT" + + "-od35bM6rJOYk\",\"sub_appid\":\"wx049faf9c5234f31c\",\"sub_openid\":\"oJiKr7Rm5v3qGzOSy5WQp8_qrvic\"}}"; + + // 解析参数 + String[] paramsArray = s.split("&"); + String respDataJson = ""; + for (String param : paramsArray) { + if (param.startsWith("resp_data=")) { + respDataJson = param.substring(10); // 去掉"resp_data="前缀 + break; + } + } + + // 转换为JSONObject + JSONObject resp_data = JSONObject.parseObject(respDataJson); + System.err.println(resp_data); + String string = resp_data.getString("trans_stat"); + if (!string.equals("S")){ + System.err.println("陈工"); + } + String req_seq_id = resp_data.getString("req_seq_id"); + String hf_seq_id = resp_data.getString("hf_seq_id"); + System.err.println(req_seq_id); + System.err.println(hf_seq_id); + } @ResponseBody @PostMapping("/serviceCallback") public void serviceCallback(HttpServletRequest request, HttpServletResponse response) { -- Gitblit v1.7.1