From 0dcaf9f049b67b35481d8e83f3c7e672f2cda513 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 21 八月 2025 01:33:56 +0800 Subject: [PATCH] update --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java index 7789cd7..47669e1 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java @@ -44,11 +44,12 @@ * @throws Exception */ public static ZLUserInfo getUserInfo(String appUserId, TradeTerminalInfo tradeTerminalInfo) throws Exception { + log.info("正联配置信息:{}", JSON.toJSONString(zhengLianConfig)); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); Map<String,String> headerMap = new HashMap<String,String>(); MessageBody body = new MessageBody(); headerMap.put("msgId", UUIDUtil.getRandomCode()); - headerMap.put("merchNo", "B00000871"); + headerMap.put("merchNo", zhengLianConfig.getMerchNo()); headerMap.put("txCode", "ZLPAY.ACC.T0009"); headerMap.put("version", "1.0.1"); headerMap.put("signa", "1"); @@ -56,12 +57,14 @@ headerMap.put("encrp", "1"); headerMap.put("encrpNo", zhengLianConfig.getEncrpNo()); headerMap.put("timestamp", sdf.format(new Date())); + log.info("【证联获取用户信息】请求头报文:"+JSON.toJSONString(headerMap)); Map<String, Object> map = new HashMap<>(); map.put("appId", zhengLianConfig.getAppid()); map.put("appUserId", appUserId); map.put("tradeTerminalInfo", tradeTerminalInfo); String reqBO = JSON.toJSONString(map); + log.info("【证联获取用户信息】请求体报文:"+reqBO); // 生成对称加密秘钥 String key = ZhengLianUtil.generateKey(16); // 加密数据 @@ -75,31 +78,35 @@ body.setData(jsonData); body.setSign(ZhengLianUtil.sign(jsonData)); body.setSecret(secrtKey); + log.info("【证联获取用户信息】请求体密文报文:"+JSON.toJSONString(body)); String result = ZLHttpClientUtil.doPost(zhengLianConfig.getUrl(), headerMap, JSON.toJSONString(body)); - System.out.println("应答内容:"+ result); + log.info("【证联获取用户信息】应答内容:"+ result); MessageBody respBody = JSON.parseObject(result,MessageBody.class); // 验签 boolean checkResult = SM2Util.verify(publicKey, zhengLianConfig.getEncrpNo(), respBody.getSign(), respBody.getData()); - System.out.println("验签结果:" + checkResult); + log.info("【证联获取用户信息】验签结果:" + checkResult); // 获取私钥 String privateKey = ZhengLianUtil.getPrivateKey(); // 解密对称秘钥 String k = SM2Util.decrypt(privateKey, respBody.getSecret()); - System.out.println("对称秘钥:" + k); + log.info("【证联获取用户信息】对称秘钥:" + k); // 解密业务报文 String backData = SM4Util.sm4EcbDecrypt(k, respBody.getData()); - System.out.println("返回业务报文:" + backData); + log.info("【证联获取用户信息】返回业务报文:" + backData); JSONObject jsonObject = JSON.parseObject(backData); String sysRtnCode = jsonObject.getString("sysRtnCode"); if(!"000000".equals(sysRtnCode)){ - log.error("查询用户信息失败!{}", jsonObject.getString("sysRtnMsg")); + log.error("【证联获取用户信息】查询用户信息失败!{}", jsonObject.getString("sysRtnMsg")); throw new Exception(jsonObject.getString("sysRtnMsg")); } JSONObject bizData = jsonObject.getJSONObject("bizData"); String resCode = bizData.getString("resCode"); + if("F010900".equals(resCode)){ + return null; + } if(!"S010000".equals(resCode)){ - log.error("查询用户信息失败!{}", bizData.getString("resMsg")); + log.error("【证联获取用户信息】查询用户信息失败!{}", bizData.getString("resMsg")); throw new Exception(jsonObject.getString("resMsg")); } JSONObject resData = bizData.getJSONObject("resData"); -- Gitblit v1.7.1