src/main/java/com/fzzy/api/data/ApiParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/fzzy/api/utils/RedisConst.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/fzzy/api/data/ApiParam.java
@@ -36,9 +36,6 @@ private String bizId; //指令ID,用于上级平台发送指令获取数据的情况 private String orderid; public ApiParam() { super(); src/main/java/com/fzzy/api/utils/RedisConst.java
@@ -24,6 +24,11 @@ */ public static String KYE_TOKEN = "TOKEN"; /** * 指令ID-ORDER */ public static String KYE_ORDER = "ORDER"; src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -106,13 +106,24 @@ return responseDto; } //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); String orderId = (String)redisUtil.get(key); if(StringUtils.isEmpty(orderId)){ ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 SH2023ReqDto reqData = new SH2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //获取身份ID,即行政区划码 reqData.setUid(conf.getUserName()); //指令id reqData.setOrderid(param.getOrderid()); reqData.setOrderid(orderId); //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期) reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword())); //数据总条数 @@ -182,27 +193,31 @@ return responseDto; } //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); String orderId = (String)redisUtil.get(key); if(StringUtils.isEmpty(orderId)){ ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 SH2023ReqDto reqData = new SH2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //获取身份ID,即行政区划码 if (null == api1102List || api1102List.isEmpty()) { ResponseDto responseDto = new ResponseDto(99, "没有获取到身份ID"); apiLog.setStatus(99); apiLog.setResult("没有获取到身份ID"); apiLogRep.save(apiLog); return responseDto; } reqData.setUid(api1102List.get(0).getXzqhdm()); reqData.setUid(conf.getUserName()); //指令id reqData.setOrderid(param.getOrderid()); //身份签名,对地区行政区划代码_当天日期进行MD5算法签名 reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPublicKey())); reqData.setOrderid(orderId); //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期) reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword())); //数据总条数 List<Object> list = (List<Object>) data; reqData.setDatalength(list.size()); //数据进行SM4加密 reqData.setData(jsonData); //使用区级平台公钥对数据进行RSA加密 reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey())); //摘要,数据主体的MD5值 reqData.setDigst(MyMD5Util.encrypt(jsonData)); src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java
@@ -4,6 +4,8 @@ import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.entity.ApiConfs; import com.fzzy.api.utils.RedisConst; import com.fzzy.api.utils.RedisUtil; import com.fzzy.order.OrderApiService; import com.fzzy.order.data.OrderConstant; import com.fzzy.order.data.OrderData; @@ -22,6 +24,8 @@ @Slf4j public class SH2023OrderApiServiceImpl implements OrderApiService { @Autowired private RedisUtil redisUtil; @Autowired private SH2023ApiRemoteService apiRemoteService; @Autowired @@ -51,13 +55,16 @@ return; } //指令存入缓存,时效24小时 String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); redisUtil.set(key, orderid, 59 * 60 * 24); ApiParam param = new ApiParam(); param.setPushProtocol(conf.getPushProtocol()); param.setKqdm(conf.getKqdm()); param.setStart(DateUtils.parseDate(req.getStarttime(), new String[]{"yyyy-MM-dd HH:mm:ss"})); param.setEnd(DateUtils.parseDate(req.getEndtime(), new String[]{"yyyy-MM-dd HH:mm:ss"})); param.setDeptId(conf.getDeptId()); param.setOrderid(orderid); String[] interfaces = ids.split(","); for (String inteId : interfaces) { src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
@@ -8,10 +8,7 @@ import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiRemoteService; import com.fzzy.api.service.ApiTriggerService; import com.fzzy.api.utils.AESUtils; import com.fzzy.api.utils.ContextUtil; import com.fzzy.api.utils.MyMD5Util; import com.fzzy.api.utils.RedisUtil; import com.fzzy.api.utils.*; import com.fzzy.api.view.repository.*; import com.fzzy.push.whhpjl.dto.WhjlReqDto; import com.fzzy.push.whhpjl.dto.WhjlRespDto; @@ -88,12 +85,24 @@ apiLogRep.save(apiLog); return responseDto; } //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); String orderId = (String)redisUtil.get(key); if(StringUtils.isEmpty(orderId)){ ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 WhjlReqDto reqData = new WhjlReqDto(); reqData.setId(ContextUtil.getUUID()); reqData.setUid(conf.getKqdm()); //指令ID reqData.setOrderid(param.getOrderid()); reqData.setOrderid(orderId); reqData.setAppcode(conf.getUserName()); reqData.setTimestamp(ContextUtil.getCurTimeMillis()); List<Object> list = (List<Object>)data;