From 2635d30e61cf7ffec015c830da761416604c9518 Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期五, 14 二月 2025 15:53:17 +0800 Subject: [PATCH] 煤矿缴费修改 --- exam-system/src/test/java/TextPay.java | 96 +++++++++++++++++++++++++++++++----------------- 1 files changed, 62 insertions(+), 34 deletions(-) diff --git a/exam-system/src/test/java/TextPay.java b/exam-system/src/test/java/TextPay.java index 6ea27a1..5d2608f 100644 --- a/exam-system/src/test/java/TextPay.java +++ b/exam-system/src/test/java/TextPay.java @@ -1,11 +1,14 @@ import cn.com.jit.new_vstk.Bean.EnvelopResult; import cn.com.jit.new_vstk.Bean.SignResult; import cn.com.jit.new_vstk.Bean.VerifyResult; +import cn.hutool.json.JSON; +import com.alibaba.fastjson2.JSONObject; import com.gkhy.exam.pay.entity.PayReqData; import com.gkhy.exam.pay.utils.PayUtils; import com.gkhy.exam.pay.utils.ResultVo; import com.gkhy.exam.pay.utils.Sign; import com.gkhy.exam.pay.utils.SignDto; +import com.google.gson.JsonObject; import com.ruoyi.common.utils.RandomUtil; import lombok.extern.log4j.Log4j2; import org.dom4j.Element; @@ -15,15 +18,31 @@ import java.io.IOException; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; @SpringBootTest(classes = TextPay.class) @ActiveProfiles("dev") @Log4j2 public class TextPay { + + +// +//@Test +// public void paytext001() throws IOException{ +// +// for (int i = 1142; i <3001 ; i++) { +// String buscode="DZ00"+i; +// log.info("buscode为:"+buscode); +// ResultVo paytext = paytext(buscode); +// log.info("请求结果为:"+paytext.getRespcode()); +// if (paytext.getRespcode().equals("BUS0000")){ +// break; +// } +// } +// } + + + @Test @@ -35,60 +54,69 @@ //订单编号 - payReqData.setOrderNo(RandomUtil.generateOrderNumber(1L, "CO")); + payReqData.setOrderNo("CO202502140115634461"); //订单总金额 - payReqData.setMoney(BigDecimal.valueOf(159)); + payReqData.setMoney(BigDecimal.valueOf(56)); //子订单数目 - payReqData.setAmount(2); - //缴费人姓名(单位填单位名称) - payReqData.setPayerName("新疆维吾尔自治区应急管理宣传教育中心"); - //缴费人证件号(单位填同一信用代码) - payReqData.setCertNo("65000023000000172848"); + payReqData.setAmount(1); + //缴费人姓名(单位填单位名称)阿克苏地区博安煤矿安全技术服务中心 + payReqData.setPayerName("阿克苏地区博安煤矿安全技术服务中心"); + //缴费人证件号(单位填同一信用代码)52652900789893140A + payReqData.setCertNo("52652900789893140A"); //缴款人类型(1个人 2单位) payReqData.setPayerType(2); - //开票单位社会信用代码 - payReqData.setInvoiceSocialCode("65000023000000172848"); + //开票单位社会信用代码12650000MB1A9612XD + payReqData.setInvoiceSocialCode("11650000MB1957293J"); //开票人 payReqData.setHandlingPerson("张三"); //复核人 payReqData.setChecker("李四"); - //单位编码 - payReqData.setEnterCode("680534083"); + //单位编码547185129 + payReqData.setEnterCode("547185129"); //订单描述(非必填) - payReqData.setDesc("安全技术考试考务费_煤矿安全作业-001504"); + payReqData.setDesc("煤矿安全作业理论考试-002002"); //订单明细 List<PayReqData.Feedata> feedatas1 = new ArrayList<>(); //数量 - feedatas.setAmount(1); - //业务代码 - feedatas.setBusCode("DZ001504"); - //单价 - feedatas.setPrice(BigDecimal.valueOf(103)); +// feedatas.setAmount(1); +// //业务代码 +// feedatas.setBusCode("DZ12401"); +// //单价 +// feedatas.setPrice(BigDecimal.valueOf(56)); PayReqData.Feedata feedata = new PayReqData.Feedata(); - feedata.setBusCode("DZ001505"); + feedata.setBusCode("DZ002002"); feedata.setAmount(1); feedata.setPrice(BigDecimal.valueOf(56)); - feedatas1.add(feedatas); +// feedatas1.add(feedatas); feedatas1.add(feedata); payReqData.setFeeDatas(feedatas1); - log.info("请求参数:"+payReqData); + log.info("请求参数:"+ JSONObject.toJSONString(payReqData)); PayUtils payUtils = new PayUtils(); ResultVo resultVo = payUtils.sendApiPost(payReqData); -// log.info("请求结果:" + resultVo); -// String fileData = resultVo.getRespdata().getFileData(); -// SignResult sign = payUtils.sign(fileData); -// log.info("签名结果为:"+ Arrays.toString(sign.getSignData())); -// VerifyResult verify = payUtils.verify(fileData, new String(sign.getSignData())); -// SignDto signDto = new SignDto("SM3", "Base64", new Date(), verify.getReturnData(), verify.getSerialNumber(), verify.getIssure()); -// Sign sign1 = new Sign(); -// Element signature = sign1.getSignature(signDto); -// EnvelopResult envelopResult = payUtils.encryptEnvelop(String.valueOf(signature)); -// log.info("制作数字信封为:"+ Arrays.toString(envelopResult.getEnvelopData())); + String jsonString = JSONObject.toJSONString(resultVo); + log.info("请求结果:"+jsonString); + String fileData = resultVo.getRespdata().getFileData(); + byte[] decode = Base64.getDecoder().decode(fileData); + SignResult sign = payUtils.sign(decode); + log.info("签名结果为:"+ Arrays.toString(sign.getSignData())); + VerifyResult verify = payUtils.verify(decode, new String(sign.getSignData())); + SignDto signDto = new SignDto("SM3", "Base64", new Date(), verify.getReturnData(), verify.getSerialNumber(), verify.getIssure()); + Sign sign1 = new Sign(); + Element signature = sign1.getSignature(signDto); + EnvelopResult envelopResult = payUtils.encryptEnvelop(String.valueOf(signature)); + log.info("制作数字信封为:"+ Arrays.toString(envelopResult.getEnvelopData())); } +// @Test +// public void sing(){ +// PayUtils payUtils = new PayUtils(); +// SignResult sign = payUtils.sign("aaaaaabbbbbb"); +// log.info(sign); +// } + @Test public void text001() { -- Gitblit v1.9.2