教育训练处考试制证系统后端
heheng
2025-02-20 9318f2446a94ce7df308c57c1c651e0c23e0036b
测试
已修改4个文件
已删除9个文件
944 ■■■■■ 文件已修改
exam-system/pom.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/CoalPayServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/ClientFactory.java 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/DemoUtils.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/PayUtils.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/ResponseDataVo.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/SignatureFileVo.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/PropertiesConfig.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/PropertiesUtil.java 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/SdkConfig.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/StringUtil.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/resources/sdk.properties 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/resources/thdjar/jit-vstk-jdk15-new-2.0.308.25.1.jar 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/pom.xml
@@ -38,11 +38,14 @@
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>jit-vstk-jdk15-new-2.0.308.25.1</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/thdjar/jit-vstk-jdk15-new-2.0.308.25.1.jar</systemPath>
            <groupId>jit</groupId>
            <artifactId>vstk</artifactId>
            <version>1.5</version>
        </dependency>
        <dependency>
            <groupId>com.caizheng</groupId>
            <artifactId>SNAPSHOT</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/CoalPayServiceImpl.java
@@ -366,6 +366,11 @@
        PayUtils payUtils = new PayUtils();
        ResultVo resultVo = payUtils.faqiV2(payReqData);
        if (!resultVo.getRespcode().equals("BUS0000")) {
            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "签名验证错误");
        } else {
            //todo 业务处理
        }
        log.info("请求结果:" + JSONObject.toJSONString(resultVo));
//        String fileData = resultVo.getRespdata().getFileData();
//        //票据原文转为byte字节文件
exam-system/src/main/java/com/gkhy/exam/pay/utils/ClientFactory.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/DemoUtils.java
@@ -7,6 +7,9 @@
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSONObject;
import com.gkhy.exam.pay.entity.PayReqData;
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 org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Encoder;
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 {
exam-system/src/main/java/com/gkhy/exam/pay/utils/ResponseDataVo.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/SignatureFileVo.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/PropertiesConfig.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/PropertiesUtil.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/SdkConfig.java
文件已删除
exam-system/src/main/java/com/gkhy/exam/pay/utils/config/StringUtil.java
文件已删除
exam-system/src/main/resources/sdk.properties
文件已删除
exam-system/src/main/resources/thdjar/jit-vstk-jdk15-new-2.0.308.25.1.jar
Binary files differ