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 | 149 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 103 insertions(+), 46 deletions(-) diff --git a/exam-system/src/test/java/TextPay.java b/exam-system/src/test/java/TextPay.java index f3b89da..5d2608f 100644 --- a/exam-system/src/test/java/TextPay.java +++ b/exam-system/src/test/java/TextPay.java @@ -1,21 +1,24 @@ +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 com.ruoyi.common.utils.uuid.UUID; import lombok.extern.log4j.Log4j2; +import org.dom4j.Element; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.junit4.SpringRunner; import java.io.IOException; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; @SpringBootTest(classes = TextPay.class) @ActiveProfiles("dev") @@ -23,53 +26,107 @@ public class TextPay { - @Test - public void paytext() throws IOException { - - - PayReqData payReqData = new PayReqData(); - PayReqData.Feedata feedatas = new PayReqData.Feedata(); - - payReqData.setDesc("安全技术考试考务费_煤矿安全作业-001504"); - payReqData.setOrderNo(RandomUtil.generateOrderNumber()); - payReqData.setMoney(BigDecimal.valueOf(103)); - payReqData.setAmount(1); - payReqData.setPayerName("测试"); - payReqData.setCertNo("411381199801093991"); - payReqData.setPayerType(1); - payReqData.setInvoiceSocialCode("11650000MB1957293J"); - payReqData.setHandlingPerson("张三"); - payReqData.setChecker("李四"); - payReqData.setEnterCode("680534083"); - - List<PayReqData.Feedata> feedatas1 = new ArrayList<>(); - feedatas.setAmount(1); - feedatas.setBusCode("DZ001504"); - feedatas.setPrice(BigDecimal.valueOf(103)); - feedatas1.add(feedatas); - payReqData.setFeeDatas(feedatas1); - - - PayUtils payUtils = new PayUtils(); - ResultVo resultVo = payUtils.sendApiPost(payReqData); - System.out.printf("请求结果:"+resultVo); - - } +// +//@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 - public void text001(){ - try { -// String s = PayUtils.affirmPost("10000001"); - JSONObject query = PayUtils.query("1000001"); - } catch (IOException e) { - throw new RuntimeException(e); - } - } + @Test + public void paytext() throws IOException { + PayReqData payReqData = new PayReqData(); + PayReqData.Feedata feedatas = new PayReqData.Feedata(); + + + //订单编号 + payReqData.setOrderNo("CO202502140115634461"); + //订单总金额 + payReqData.setMoney(BigDecimal.valueOf(56)); + //子订单数目 + payReqData.setAmount(1); + //缴费人姓名(单位填单位名称)阿克苏地区博安煤矿安全技术服务中心 + payReqData.setPayerName("阿克苏地区博安煤矿安全技术服务中心"); + //缴费人证件号(单位填同一信用代码)52652900789893140A + payReqData.setCertNo("52652900789893140A"); + //缴款人类型(1个人 2单位) + payReqData.setPayerType(2); + //开票单位社会信用代码12650000MB1A9612XD + payReqData.setInvoiceSocialCode("11650000MB1957293J"); + //开票人 + payReqData.setHandlingPerson("张三"); + //复核人 + payReqData.setChecker("李四"); + //单位编码547185129 + payReqData.setEnterCode("547185129"); + //订单描述(非必填) + payReqData.setDesc("煤矿安全作业理论考试-002002"); + //订单明细 + List<PayReqData.Feedata> feedatas1 = new ArrayList<>(); + //数量 +// feedatas.setAmount(1); +// //业务代码 +// feedatas.setBusCode("DZ12401"); +// //单价 +// feedatas.setPrice(BigDecimal.valueOf(56)); + PayReqData.Feedata feedata = new PayReqData.Feedata(); + feedata.setBusCode("DZ002002"); + feedata.setAmount(1); + feedata.setPrice(BigDecimal.valueOf(56)); +// feedatas1.add(feedatas); + feedatas1.add(feedata); + payReqData.setFeeDatas(feedatas1); + log.info("请求参数:"+ JSONObject.toJSONString(payReqData)); + + + PayUtils payUtils = new PayUtils(); + ResultVo resultVo = payUtils.sendApiPost(payReqData); + 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() { +// try { +//// String s = PayUtils.affirmPost("10000001"); +// //JSONObject query = PayUtils.query("1000001"); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } + } + } -- Gitblit v1.9.2