From 9318f2446a94ce7df308c57c1c651e0c23e0036b Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期四, 20 二月 2025 08:49:23 +0800 Subject: [PATCH] 测试 --- exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java | 74 +++++++++++++++---------------------- 1 files changed, 30 insertions(+), 44 deletions(-) diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java b/exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java index 980b8b7..337ff13 100644 --- a/exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java +++ b/exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java @@ -9,6 +9,11 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; import com.gkhy.exam.pay.entity.PayReqData; +import com.xjhys.edu.fee.sdk.client.BillClient; +import com.xjhys.edu.fee.sdk.client.impl.ClientFactory; +import com.xjhys.edu.fee.sdk.model.ResponseDataVo; +import com.xjhys.edu.fee.sdk.model.SignatureFileVo; +import com.xjhys.edu.fee.sdk.model.UploadXmlReponseDataVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.HttpEntity; @@ -445,11 +450,17 @@ String jmsignfile = this.signFilejdnew(trr2); String zuizhongpath = montageXmlV3(xmlFilePath, jmsignfile); String zzsignfile = convertFileToBase64(zuizhongpath); - this.uploadXmlV2(orderNo1, zzsignfile); + Boolean b = this.uploadXmlV2(orderNo1, zzsignfile); + File file = new File(xmlFilePath); file.delete(); File file1 = new File(zuizhongpath); file1.delete(); + if (b) { + return resultVo; + } else { + resultVo.setRespcode("BUS8888"); + } return resultVo; } @@ -577,52 +588,27 @@ } } - public ResultVo uploadXmlV2(String orderId, String plain) { - Map<String, String> params = new HashMap<>(); - - - String appid = "A1749891493E4CDDBFE4506357B1F0AB"; - String uploadUrl = "http://finpt.xjcz.gov.cn/fs-service/fs-pay/uploadXml.do"; - + public Boolean uploadXmlV2(String orderNo, String signFile) { + log.info("上传验签开始"); + log.info("上传验签参数订单号:" + orderNo + "签名文件:" + signFile); + ResponseDataVo<?> res = ClientFactory.sdkConfig("A1749891493E4CDDBFE4506357B1F0AB", "http://finpt.xjcz.gov.cn/fs-service", "http://finpt.xjcz.gov.cn/fs-service"); SignatureFileVo signatureFile = new SignatureFileVo(); - signatureFile.setFileData(plain); - signatureFile.setOrderNo(orderId); - String reqdatastr = JSONObject.toJSONString(signatureFile); + signatureFile.setFileData(signFile); + signatureFile.setOrderNo(orderNo); + BillClient billClient = ClientFactory.getBillClient(); + ResponseDataVo<UploadXmlReponseDataVo> dataRes = billClient.uploadXml(signatureFile); - String mac = this.getMD5("A1749891493E4CDDBFE4506357B1F0AB||" + this.getBase64(reqdatastr)); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("appid", "A1749891493E4CDDBFE4506357B1F0AB"); - jsonObject.put("mac", mac); - jsonObject.put("reqdata", this.getBase64(reqdatastr)); - Map<String, String> header = new HashMap(); - header.put("Accept", "application/json;charset=utf-8"); - header.put("Content-Type", "application/json;charset=utf-8"); - String resultStr = HttpUtil.post(uploadUrl, jsonObject); - JSONObject result = JSONObject.parseObject(resultStr); - -// String reqdata = getBase64(signatureFile.toString()); -// String mac = appid + "||" + reqdata; -// mac = DigestUtils.md5Hex(mac.getBytes()); -// -// params.put("appid", appid); -// params.put("reqdata", reqdata); -// params.put("mac", mac); -// -// HttpPost httpPost = new HttpPost(orderUrl); -// httpPost.setEntity(assemblyFormEntity(params, "utf-8")); -// HttpClient httpClient = getHttpClient(orderUrl); -// HttpResultVo execute = null; -// try { -// execute = httpClient.execute(httpPost, getResponseHandler()); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } -// String stringContent = execute.getStringContent(); - ResultVo resultVo = JSONObject.parseObject(resultStr, ResultVo.class); - log.info("请求结果转为:" + resultVo); - return resultVo; + if (!dataRes.getRespcode().equals("BUS0000")) { + log.info("上传验签失败:" + dataRes); + return false; + } +// String mac = this.getMD5("A1749891493E4CDDBFE4506357B1F0AB||" + this.getBase64(signatureFile.toString())); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("appid", "A1749891493E4CDDBFE4506357B1F0AB"); +// jsonObject.put("mac", mac); +// jsonObject.put("reqdata", this.getBase64(signatureFile.toString())); + return true; } - public String getMD5(String input) { try { -- Gitblit v1.9.2