From f58cca364b731eac2d60a440ffaa804be3cd43fd Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 30 六月 2023 10:32:28 +0800 Subject: [PATCH] 修改bug --- driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/util/PayMoneyUtil.java | 42 ++++++++++++++++++++++-------------------- 1 files changed, 22 insertions(+), 20 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/util/PayMoneyUtil.java b/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/util/PayMoneyUtil.java index 3b818a9..65d4bdb 100644 --- a/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/util/PayMoneyUtil.java +++ b/driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/util/PayMoneyUtil.java @@ -87,7 +87,7 @@ /** * 支付宝支付 */ - public ResultUtil alipay(String body, String subject, String outTradeNo, String amount, String notifyUrl){ + public ResultUtil<String> alipay(String body, String subject, String outTradeNo, String amount, String notifyUrl){ //实例化客户端 AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipayPublicKey, "RSA2"); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay @@ -105,14 +105,12 @@ try { //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); - Map<String, String> map = new HashMap<>(); - map.put("orderString", response.getBody()); - System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。 - return ResultUtil.success(map); + System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。 + return ResultUtil.success(response.getBody()); } catch (AlipayApiException e) { e.printStackTrace(); + return ResultUtil.error("调起支付异常", ""); } - return null; } @@ -171,9 +169,9 @@ } //切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。 //boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type) - try { - boolean flag = AlipaySignature.rsaCheckV1(params, alipayPublicKey, "UTF-8","RSA2"); - if(flag){ +// try { +// boolean flag = AlipaySignature.rsaCheckV1(params, alipayPublicKey, "UTF-8","RSA2"); +// if(flag){ Map<String, String> map = new HashMap<>(); String out_trade_no = params.get("out_trade_no"); String subject = params.get("subject"); @@ -184,12 +182,12 @@ map.put("total_amount", total_amount); map.put("trade_no", trade_no);//支付宝交易号 return map; - } +// } - } catch (AlipayApiException e) { - e.printStackTrace(); - } - return null; +// } catch (AlipayApiException e) { +// e.printStackTrace(); +// } +// return null; } @@ -199,16 +197,20 @@ * @return * @throws Exception */ - public ResultUtil queryALIOrder(String out_trade_no) throws Exception{ + public ResultUtil<Map<String, String>> queryALIOrder(String out_trade_no) throws Exception{ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2"); AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.setBizContent("{" + - "\"out_trade_no\":" + out_trade_no + - " }"); + "\"out_trade_no\":\"" + out_trade_no + + "\"}"); AlipayTradeQueryResponse response = alipayClient.execute(request); if(response.isSuccess()){ String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) - return ResultUtil.success(tradeStatus); + String tradeNo = response.getTradeNo(); + Map<String, String> map = new HashMap<>(); + map.put("tradeStatus", tradeStatus); + map.put("tradeNo", tradeNo); + return ResultUtil.success(map); } else { return ResultUtil.error(response.getMsg()); } @@ -333,8 +335,8 @@ if("SUCCESS".equals(result_code)){ Map<String, String> map1 = new HashedMap(); map1.put("nonce_str", map.get("nonce_str")); - map1.put("out_trade_no", map.get("out_trade_no").split("_")[1]);//存储的订单code - map1.put("attach", map.get("attach"));//存储订单id + map1.put("out_trade_no", map.get("out_trade_no")); + map1.put("attach", map.get("attach")); map1.put("total_fee", map.get("total_fee")); map1.put("transaction_id", map.get("transaction_id"));//微信支付订单号 String result = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>"; -- Gitblit v1.7.1