Pu Zhibing
6 天以前 67661bc77e73ccfe6c68a049e730d4165401becd
修改bug
5个文件已修改
131 ■■■■ 已修改文件
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/TokenUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/TokenUtil.java
@@ -38,10 +38,11 @@
        headerMap.put("encrp", "1");
        headerMap.put("encrpNo", zhengLianConfig.getEncrpNo());
        headerMap.put("timestamp", sdf.format(new Date()));
        log.info("【证联获取token】请求头报文:"+JSON.toJSONString(headerMap));
        
        tokenRequest.setAppId(zhengLianConfig.getAppid());
        String reqBO = JSON.toJSONString(tokenRequest);
        log.info("【证联获取token】请求体报文:"+reqBO);
        // 生成对称加密秘钥
        String key = ZhengLianUtil.generateKey(16);
        // 加密数据
@@ -55,31 +56,32 @@
        body.setData(jsonData);
        body.setSign(ZhengLianUtil.sign(jsonData));
        body.setSecret(secrtKey);
        log.info("【证联获取token】请求体密文报文:"+JSON.toJSONString(body));
        String result = ZLHttpClientUtil.doPost(zhengLianConfig.getUrl(), headerMap, JSON.toJSONString(body));
        
        System.out.println("应答内容:"+ result);
        log.info("【证联获取token】应答内容:"+ 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("【证联获取token】验签结果:" + checkResult);
        // 获取私钥
        String privateKey = ZhengLianUtil.getPrivateKey();
        // 解密对称秘钥
        String k = SM2Util.decrypt(privateKey, respBody.getSecret());
        System.out.println("对称秘钥:" + k);
        log.info("【证联获取token】对称秘钥:" + k);
        // 解密业务报文
        String backData = SM4Util.sm4EcbDecrypt(k, respBody.getData());
        System.out.println("返回业务报文:" + backData);
        log.info("【证联获取token】返回业务报文:" + backData);
        JSONObject jsonObject = JSON.parseObject(backData);
        String sysRtnCode = jsonObject.getString("sysRtnCode");
        if(!"000000".equals(sysRtnCode)){
            log.error("获取token失败!{}", jsonObject.getString("sysRtnMsg"));
            log.error("【证联获取token】获取token失败!{}", jsonObject.getString("sysRtnMsg"));
            throw new Exception(jsonObject.getString("sysRtnMsg"));
        }
        JSONObject bizData = jsonObject.getJSONObject("bizData");
        String resCode = bizData.getString("resCode");
        if(!"S010000".equals(resCode)){
            log.error("获取token失败!{}", bizData.getString("resMsg"));
            log.error("【证联获取token】获取token失败!{}", bizData.getString("resMsg"));
            throw new Exception(jsonObject.getString("resMsg"));
        }
        JSONObject resData = bizData.getJSONObject("resData");
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/ZhengLianUtil.java
@@ -56,12 +56,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,25 +77,26 @@
        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");
@@ -102,7 +105,7 @@
            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");
DriverQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java
@@ -1,47 +1,47 @@
//package com.stylefeng.guns;
//
//import com.stylefeng.guns.modular.system.model.Driver;
//import com.stylefeng.guns.modular.system.service.IDriverService;
//import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
//import com.stylefeng.guns.modular.system.util.zhenglian.model.TokenRequest;
//import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
//import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.test.context.junit4.SpringRunner;
//
//@RunWith(SpringRunner.class)
//@SpringBootTest
//public class GunsApplicationTest {
//
//    @Autowired
//    private MongoTemplate mongoTemplate;
//    @Autowired
//    private IDriverService driverService;
//
//
//    @Test
//    public void test() {
//
//        Driver driver = driverService.selectById(14);
//        TokenRequest tokenRequest = new TokenRequest();
//        tokenRequest.setAppUserId(driver.getEmpId().toString());
//        tokenRequest.setUserName(driver.getName());
//        tokenRequest.setCertNo(driver.getIdCard());
//        tokenRequest.setPhone(driver.getPhone());
//        TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
//        tradeTerminalInfo.setIp("127.0.0.1");
//        tradeTerminalInfo.setTerminal("1");
//        tradeTerminalInfo.setMac("");
//        ZLUserInfo userInfo = null;
//        try {
//            userInfo = ZhengLianUtil.getUserInfo("14", tradeTerminalInfo);
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//        System.err.println(userInfo);
//    }
//}
package com.stylefeng.guns;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.util.zhenglian.TokenUtil;
import com.stylefeng.guns.modular.system.util.zhenglian.model.TokenRequest;
import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class GunsApplicationTest {
    @Autowired
    private MongoTemplate mongoTemplate;
    @Autowired
    private IDriverService driverService;
    @Test
    public void test() {
        Driver driver = driverService.selectById(14);
        TokenRequest tokenRequest = new TokenRequest();
        tokenRequest.setAppUserId(driver.getEmpId().toString());
        tokenRequest.setUserName(driver.getName());
        tokenRequest.setCertNo(driver.getIdCard());
        tokenRequest.setPhone(driver.getPhone());
        TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
        tradeTerminalInfo.setIp("127.0.0.1");
        tradeTerminalInfo.setTerminal("1");
        tradeTerminalInfo.setMac("111-111-111-111");
        tokenRequest.setTradeTerminalInfo(tradeTerminalInfo);
        tokenRequest.setType("04");
        try {
            String token = TokenUtil.getToken(tokenRequest);
            System.err.println(token);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -383,10 +383,10 @@
        }
        if(null == one){
            one = systemPriceCityService.selectOne(new EntityWrapper<SystemPriceCity>().eq("areaCode", systemPriceCity.getAreaCode())
                    .eq("cityCode", systemPriceCity.getCityCode()).ne("flag", 3));
                    .eq("cityCode", systemPriceCity.getCityCode()).isNull("provinceCode").ne("flag", 3));
            if(null == one){
                one = systemPriceCityService.selectOne(new EntityWrapper<SystemPriceCity>().eq("areaCode", systemPriceCity.getAreaCode())
                        .ne("flag", 3));
                        .isNull("cityCode").isNull("provinceCode").ne("flag", 3));
                if(null != one && !systemPriceCity.getId().equals(one.getId())){
                    return new ErrorTip(500, "不能重复添加城市");
                }
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -611,7 +611,7 @@
            id as orderId,
            rideType as rideType,
            DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as orderTime,
            DATE_FORMAT(travelTime, '%m月?d日 %H:%i') as time,
            DATE_FORMAT(travelTime, '%m月%d日 %H:%i') as time,
        startAddress as startAddress,
        endAddress as endAddress,
        driverId as driverId,