Commit bd7009f7 authored by 李洪明's avatar 李洪明

添加上传进出口信息接口

parent 5e5899cc
package com.bme.access.guangdong.dao;
import com.bme.access.guangdong.model.InOutGateOriginalInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface InOutGateMapper {
List<InOutGateOriginalInfo> getInOutGateInfos();
}
package com.bme.access.guangdong.model;
import lombok.Data;
@Data
public class InOutGate extends InOutGateInfo {
private String SIGN;
}
package com.bme.access.guangdong.model;
import lombok.Data;
@Data
public class InOutGateInfo {
private String QYBH;
private String CRKBH;
private String CRKMC;
private String SFYSSSP;
private String RTSPURL;
}
package com.bme.access.guangdong.model;
import lombok.Data;
@Data
public class InOutGateOriginalInfo {
// 企业编号
private String enterpriseNo;
// 出入口编号
private String gateNo;
// 出入口名称
private String gateName;
// 是否有实时视频
private Integer hasVideo;
// 实时视频地址
private String videoUrl;
}
......@@ -7,7 +7,6 @@ import com.bme.access.guangdong.model.Enterprise;
import com.bme.access.guangdong.model.EnterpriseInfo;
import com.bme.access.guangdong.model.EnterpriseOriginalInfo;
import com.bme.access.guangdong.model.LoginResult;
import com.bme.access.guangdong.utils.AESPKCS7PaddingUtils;
import lombok.extern.slf4j.Slf4j;
import org.json.JSONObject;
import org.springframework.beans.BeanUtils;
......@@ -49,21 +48,21 @@ public class EnterpriseService {
if (Objects.nonNull(loginResult) && Objects.nonNull(loginResult.getData())) {
key = loginResult.getData().getAes_secret();
}
enterprise.setSIGN(AESPKCS7PaddingUtils.encrypt(enterprise.getSIGN(), key));
enterprise.setQYBH(AESPKCS7PaddingUtils.encrypt(enterprise.getQYBH(), key));
enterprise.setQYMC(AESPKCS7PaddingUtils.encrypt(enterprise.getQYMC(), key));
enterprise.setTYSHXYDM(AESPKCS7PaddingUtils.encrypt(enterprise.getTYSHXYDM(), key));
enterprise.setXZQHDM(AESPKCS7PaddingUtils.encrypt(enterprise.getXZQHDM(), key));
enterprise.setQYDZ(AESPKCS7PaddingUtils.encrypt(enterprise.getQYDZ(), key));
// enterprise.setSIGN(AESPKCS7PaddingUtils.encrypt(enterprise.getSIGN(), key));
// enterprise.setQYBH(AESPKCS7PaddingUtils.encrypt(enterprise.getQYBH(), key));
// enterprise.setQYMC(AESPKCS7PaddingUtils.encrypt(enterprise.getQYMC(), key));
// enterprise.setTYSHXYDM(AESPKCS7PaddingUtils.encrypt(enterprise.getTYSHXYDM(), key));
// enterprise.setXZQHDM(AESPKCS7PaddingUtils.encrypt(enterprise.getXZQHDM(), key));
// enterprise.setQYDZ(AESPKCS7PaddingUtils.encrypt(enterprise.getQYDZ(), key));
// enterprise.setJD(AESPKCS7PaddingUtils.encrypt(enterprise.getSIGN(), key))
// enterprise.setWD(AESPKCS7PaddingUtils.encrypt(enterprise.getSIGN(), key))
enterprise.setFRDB(AESPKCS7PaddingUtils.encrypt(enterprise.getFRDB(), key));
enterprise.setHYFZ(AESPKCS7PaddingUtils.encrypt(enterprise.getHYFZ(), key));
enterprise.setJXFJGK(AESPKCS7PaddingUtils.encrypt(enterprise.getJXFJGK(), key));
enterprise.setLXR(AESPKCS7PaddingUtils.encrypt(enterprise.getLXR(), key));
enterprise.setLXRDH(AESPKCS7PaddingUtils.encrypt(enterprise.getLXRDH(), key));
enterprise.setPWXKZBH(AESPKCS7PaddingUtils.encrypt(enterprise.getPWXKZBH(), key));
enterprise.setPWDJBH(AESPKCS7PaddingUtils.encrypt(enterprise.getPWDJBH(), key));
// enterprise.setFRDB(AESPKCS7PaddingUtils.encrypt(enterprise.getFRDB(), key));
// enterprise.setHYFZ(AESPKCS7PaddingUtils.encrypt(enterprise.getHYFZ(), key));
// enterprise.setJXFJGK(AESPKCS7PaddingUtils.encrypt(enterprise.getJXFJGK(), key));
// enterprise.setLXR(AESPKCS7PaddingUtils.encrypt(enterprise.getLXR(), key));
// enterprise.setLXRDH(AESPKCS7PaddingUtils.encrypt(enterprise.getLXRDH(), key));
// enterprise.setPWXKZBH(AESPKCS7PaddingUtils.encrypt(enterprise.getPWXKZBH(), key));
// enterprise.setPWDJBH(AESPKCS7PaddingUtils.encrypt(enterprise.getPWDJBH(), key));
String jsonData = JSON.toJSONString(enterprise);
try {
HttpUtils.sendPost(host, url, null, jsonData);
......
package com.bme.access.guangdong.service;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.bme.access.guangdong.common.HttpUtils;
import com.bme.access.guangdong.dao.InOutGateMapper;
import com.bme.access.guangdong.model.*;
import com.bme.access.guangdong.utils.AESPKCS7PaddingUtils;
import lombok.extern.slf4j.Slf4j;
import org.json.JSONObject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.TreeMap;
@Service
@Slf4j
public class InOutGateService {
@Autowired
private LoginService loginService;
@Autowired
private InOutGateMapper mapper;
private static String host = "http://113.96.111.154:18830";
private static String url = "/api/qymj/pushGate";
public void uploadInOutGateInfo() {
// 查询企业信息
InOutGateInfo inOutGateInfo;
List<InOutGateOriginalInfo> originalInfos = mapper.getInOutGateInfos();
if (CollectionUtil.isNotEmpty(originalInfos)) {
for (InOutGateOriginalInfo originalInfo : originalInfos) {
inOutGateInfo = convertInfo(originalInfo);
String jsonStr = JSON.toJSONString(inOutGateInfo);
String sign = getSign(jsonStr);
// 使用AES密钥进行加密
InOutGate inOutGate = new InOutGate();
BeanUtils.copyProperties(inOutGateInfo, inOutGate);
inOutGate.setSIGN(sign);
LoginResult loginResult = loginService.login();
String key = "";
if (Objects.nonNull(loginResult) && Objects.nonNull(loginResult.getData())) {
key = loginResult.getData().getAes_secret();
}
inOutGate.setSIGN(AESPKCS7PaddingUtils.encrypt(inOutGate.getSIGN(), key));
inOutGate.setQYBH(AESPKCS7PaddingUtils.encrypt(inOutGate.getQYBH(), key));
inOutGate.setCRKBH(AESPKCS7PaddingUtils.encrypt(inOutGate.getCRKBH(), key));
inOutGate.setSFYSSSP(AESPKCS7PaddingUtils.encrypt(inOutGate.getSFYSSSP(), key));
inOutGate.setRTSPURL(AESPKCS7PaddingUtils.encrypt(inOutGate.getRTSPURL(), key));
inOutGate.setCRKMC(AESPKCS7PaddingUtils.encrypt(inOutGate.getCRKMC(), key));
String jsonData = JSON.toJSONString(inOutGate);
try {
HttpUtils.sendPost(host, url, null, jsonData);
} catch (Exception e) {
log.info(e.getMessage());
}
}
}
}
private String getSign(String jsonStr) {
org.json.JSONObject jsonObj = new org.json.JSONObject(jsonStr);
Map<String, Object> sortedMap = new TreeMap<>(jsonObj.toMap()); // 使用TreeMap自动排序键值对
String sortedJsonStr = new JSONObject(sortedMap).toString(); // 将排序后的Map转换回JSON字符串
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] encodedhash = digest.digest(sortedJsonStr.getBytes()); // 生成哈希值字节数组
return bytesToHex(encodedhash); // 将字节数组转换为十六进制字符串
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
private static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
sb.append(String.format("%02x", bytes[i]));
}
return sb.toString();
}
private InOutGateInfo convertInfo(InOutGateOriginalInfo originalInfo) {
InOutGateInfo inOutGateInfo = new InOutGateInfo();
inOutGateInfo.setRTSPURL(originalInfo.getVideoUrl());
inOutGateInfo.setSFYSSSP(String.valueOf(originalInfo.getHasVideo()));
inOutGateInfo.setCRKBH(originalInfo.getGateNo());
inOutGateInfo.setCRKMC(originalInfo.getGateName());
inOutGateInfo.setQYBH(originalInfo.getEnterpriseNo());
return inOutGateInfo;
}
}
......@@ -4,8 +4,7 @@ import org.springframework.stereotype.Service;
@Service
public class NoRoadVehicleInfoService {
public void uploadInfo() {
public void uploadInfo() {
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment