From 4db8023227b3900740b8be361c436ddadb1d0585 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 14 一月 2025 08:42:06 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/TransferUtil.java | 52 +++++++++++++++++++++++++--------------------------- 1 files changed, 25 insertions(+), 27 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/TransferUtil.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/TransferUtil.java index 6718780..a54b3ec 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/TransferUtil.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/TransferUtil.java @@ -31,10 +31,18 @@ * 商户号 */ private static final String merchantNo = "888122600004175"; - + /** + * 平台-报备商户号 + */ + public static final String sysTradeMerchantNo = "777168500885852"; + private static final String format = "yyyy-MM-dd HH:mm:ss"; - - + /** + * 支付回调地址 + */ + private static final String callbackUrl = "http://221.182.45.100:9000"; + + /** * 单笔代付 * @param singlePay @@ -48,7 +56,7 @@ //商户编号 body.put("userNo", merchantNo); //报备商户号 - body.put("tradeMerchantNo", singlePay.getTradeMerchantNo()); +// body.put("tradeMerchantNo", singlePay.getTradeMerchantNo()); //产品类型 body.put("productCode", "BANK_PAY_DAILY_ORDER"); //交易请求时间 @@ -86,7 +94,7 @@ */ body.put("paidUse", singlePay.getPaidUse()); //商户通知地址 - body.put("callbackUrl", singlePay.getCallbackUrl()); + body.put("callbackUrl", callbackUrl + singlePay.getCallbackUrl()); String sign = null; try { sign = sign(body); @@ -116,8 +124,8 @@ SinglePayResult uniPayResult = jsonObject.getObject("data", SinglePayResult.class); return uniPayResult; } - - + + /** * 单笔代付查询接口 * @param merchantOrderNo 订单号 @@ -161,8 +169,8 @@ SinglePayQueryResult uniPayResult = jsonObject.getObject("data", SinglePayQueryResult.class); return uniPayResult; } - - + + /** * 可取余额查询 * @return @@ -203,22 +211,16 @@ AccountBalanceQueryResult uniPayResult = jsonObject.getObject("data", AccountBalanceQueryResult.class); return uniPayResult; } - - - - - public static String sign(JSONObject body) throws Exception{ + + + + + public static String sign(JSONObject body) { + //构建字段顺序必须按照文档签名顺序 Set<Map.Entry<String, Object>> entries = body.entrySet(); - List<Map.Entry<String, Object>> infoIds = new ArrayList<Map.Entry<String, Object>>(entries); - // 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序) - Collections.sort(infoIds, new Comparator<Map.Entry<String, Object>>() { - public int compare(Map.Entry<String, Object> o1, Map.Entry<String, Object> o2) { - return (o1.getKey()).toString().compareTo(o2.getKey()); - } - }); // 构造签名键值对的格式 StringBuilder sb = new StringBuilder(); - for (Map.Entry<String, Object> item : infoIds) { + for (Map.Entry<String, Object> item : entries) { if (item.getKey() != null || item.getKey() != "") { Object val = item.getValue(); if (!(val == "" || val == null)) { @@ -227,12 +229,8 @@ } } sb.append(key); + log.info("待签名串:{}", sb.toString()); return MD5AndKL.MD5(sb.toString()); - } - - - public static void main(String[] args) { - TransferUtil.accountBalanceQuery(); } } -- Gitblit v1.7.1