修复判空、增加配置文件

master
chenxiwang 2024-07-23 10:10:17 +08:00
parent 8c650231e9
commit 5445eefe09
3 changed files with 182 additions and 163 deletions

View File

@ -144,14 +144,16 @@ public class DataTask {
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class); Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) { if(CollectionUtils.isNotEmpty(list)){
StPptnRReal stPptnRReal = new ObjectMapper().convertValue(map1, StPptnRReal.class); for (Map map1 : list) {
if(ObjectUtils.isEmpty(stPptnRReal.getChtm())){ StPptnRReal stPptnRReal = new ObjectMapper().convertValue(map1, StPptnRReal.class);
stPptnRReal.setChtm(new Date()); if(ObjectUtils.isEmpty(stPptnRReal.getChtm())){
stPptnRReal.setChtm(new Date());
}
UpdateWrapper<StPptnRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stPptnRReal.getStcd());
stPptnRRealService.saveOrUpdate(stPptnRReal, updateWrapper);
} }
UpdateWrapper<StPptnRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stPptnRReal.getStcd());
stPptnRRealService.saveOrUpdate(stPptnRReal, updateWrapper);
} }
} }
catch (IOException e) catch (IOException e)
@ -176,32 +178,34 @@ public class DataTask {
List<StPptnR> stcdLast = stPptnRService.getStcdLastPptnData(); List<StPptnR> stcdLast = stPptnRService.getStcdLastPptnData();
OkHttpClient client = OkHttpUtil.build(); OkHttpClient client = OkHttpUtil.build();
try { try {
for(StPptnR stPptnR : stcdLast){ if(CollectionUtils.isNotEmpty(stcdLast)){
Date stm = stPptnR.getStm(); for(StPptnR stPptnR : stcdLast){
Calendar calendar = Calendar.getInstance(); Date stm = stPptnR.getStm();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间 Calendar calendar = Calendar.getInstance();
if(ObjectUtils.isEmpty(stm)){ // 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
calendar.add(Calendar.DATE, -40); if(ObjectUtils.isEmpty(stm)){
} else { calendar.add(Calendar.DATE, -40);
calendar.add(Calendar.SECOND, 1); } else {
} calendar.add(Calendar.SECOND, 1);
stm = calendar.getTime(); }
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpphisRoute) stm = calendar.getTime();
.post(new FormBody.Builder().add("stcd", stPptnR.getStcd()) Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpphisRoute)
.add("stm", sdfH.format(stm)) .post(new FormBody.Builder().add("stcd", stPptnR.getStcd())
.add("etm", sdfH.format(now)) .add("stm", sdfH.format(stm))
.build()) .add("etm", sdfH.format(now))
.build()).execute(); .build())
String respStr = resp.body().string(); .build()).execute();
ObjectMapper om = new ObjectMapper(); String respStr = resp.body().string();
Map map = om.readValue(respStr, Map.class); ObjectMapper om = new ObjectMapper();
if("400".equals(map.get("code").toString())){ Map map = om.readValue(respStr, Map.class);
continue; if("400".equals(map.get("code").toString())){
} continue;
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); }
if(CollectionUtils.isNotEmpty(list)){ List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
List<StPptnR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StPptnR.class); if(CollectionUtils.isNotEmpty(list)){
stPptnRService.saveBatch(rlist); List<StPptnR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StPptnR.class);
stPptnRService.saveBatch(rlist);
}
} }
} }
} }
@ -227,44 +231,46 @@ public class DataTask {
List<StPptnRD> stcdLast = stPptnRDService.getStcdLastPptnDayData(); List<StPptnRD> stcdLast = stPptnRDService.getStcdLastPptnDayData();
OkHttpClient client = OkHttpUtil.build(); OkHttpClient client = OkHttpUtil.build();
try { try {
for(StPptnRD stPptnRD : stcdLast){ if(CollectionUtils.isNotEmpty(stcdLast)){
String stcd = stPptnRD.getStcd(); for(StPptnRD stPptnRD : stcdLast){
Date stm = stPptnRD.getStm(); String stcd = stPptnRD.getStcd();
Calendar calendar = Calendar.getInstance(); Date stm = stPptnRD.getStm();
// 默认两周前的时间接口只提供addvcd的条件数据量较大如果存在需要加一天接口是大于等于开始时间 Calendar calendar = Calendar.getInstance();
if(ObjectUtils.isEmpty(stm)){ // 默认两周前的时间接口只提供addvcd的条件数据量较大如果存在需要加一天接口是大于等于开始时间
calendar.add(Calendar.DATE, -14); if(ObjectUtils.isEmpty(stm)){
} else { calendar.add(Calendar.DATE, -14);
calendar.add(Calendar.DATE, 1); } else {
} calendar.add(Calendar.DATE, 1);
stm = calendar.getTime(); }
MediaType mediaType = MediaType.parse("application/json"); stm = calendar.getTime();
SyncDataReq syncDataReq = new SyncDataReq(); MediaType mediaType = MediaType.parse("application/json");
syncDataReq.setAdcd(stPptnRD.getAddvcd()); SyncDataReq syncDataReq = new SyncDataReq();
syncDataReq.setType("SK"); syncDataReq.setAdcd(stPptnRD.getAddvcd());
syncDataReq.setStartDate(sdfD.format(stm)); syncDataReq.setType("SK");
syncDataReq.setEndDate(sdfD.format(now)); syncDataReq.setStartDate(sdfD.format(stm));
RequestBody body = RequestBody.create(JacksonUtils.writeValue(syncDataReq), mediaType); syncDataReq.setEndDate(sdfD.format(now));
Response resp = client.newCall(new Request.Builder().url(apiPath) RequestBody body = RequestBody.create(JacksonUtils.writeValue(syncDataReq), mediaType);
.post(body) Response resp = client.newCall(new Request.Builder().url(apiPath)
.build()).execute(); .post(body)
String respStr = resp.body().string(); .build()).execute();
ObjectMapper objectMapper = new ObjectMapper(); String respStr = resp.body().string();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); ObjectMapper objectMapper = new ObjectMapper();
SkSyncResp resq = objectMapper.readValue(respStr, SkSyncResp.class); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SkSyncData data = resq.getData(); SkSyncResp resq = objectMapper.readValue(respStr, SkSyncResp.class);
List<StPptnRD> stPptnRDList = data.getStPptnRD(); SkSyncData data = resq.getData();
if(CollectionUtils.isNotEmpty(stPptnRDList)) { List<StPptnRD> stPptnRDList = data.getStPptnRD();
Iterator<StPptnRD> iterator = stPptnRDList.iterator(); if(CollectionUtils.isNotEmpty(stPptnRDList)) {
while (iterator.hasNext()) { Iterator<StPptnRD> iterator = stPptnRDList.iterator();
StPptnRD stPptnRD1 = iterator.next(); while (iterator.hasNext()) {
if (!stcd.equals(stPptnRD1.getStcd())) { StPptnRD stPptnRD1 = iterator.next();
iterator.remove(); if (!stcd.equals(stPptnRD1.getStcd())) {
continue; iterator.remove();
} continue;
stPptnRD1.setYear(Integer.valueOf(sdfD.format(stPptnRD1.getTm()).substring(0, 4))); }
stPptnRD1.setYear(Integer.valueOf(sdfD.format(stPptnRD1.getTm()).substring(0, 4)));
}
stPptnRDService.saveBatch(stPptnRDList);
} }
stPptnRDService.saveBatch(stPptnRDList);
} }
} }
} }
@ -298,14 +304,16 @@ public class DataTask {
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class); Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) { if(CollectionUtils.isNotEmpty(list)){
StRsvrRReal stRsvrRReal = new ObjectMapper().convertValue(map1, StRsvrRReal.class); for (Map map1 : list) {
if(ObjectUtils.isEmpty(stRsvrRReal.getChtm())){ StRsvrRReal stRsvrRReal = new ObjectMapper().convertValue(map1, StRsvrRReal.class);
stRsvrRReal.setChtm(new Date()); if(ObjectUtils.isEmpty(stRsvrRReal.getChtm())){
stRsvrRReal.setChtm(new Date());
}
UpdateWrapper<StRsvrRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stRsvrRReal.getStcd());
stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper);
} }
UpdateWrapper<StRsvrRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stRsvrRReal.getStcd());
stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper);
} }
} }
catch (IOException e) catch (IOException e)
@ -330,32 +338,34 @@ public class DataTask {
List<StRsvrR> stcdLast = stRsvrRService.getStcdLastRsvrData(); List<StRsvrR> stcdLast = stRsvrRService.getStcdLastRsvrData();
OkHttpClient client = OkHttpUtil.build(); OkHttpClient client = OkHttpUtil.build();
try { try {
for(StRsvrR stRsvrR : stcdLast){ if(CollectionUtils.isNotEmpty(stcdLast)){
Date stm = stRsvrR.getStm(); for(StRsvrR stRsvrR : stcdLast){
Calendar calendar = Calendar.getInstance(); Date stm = stRsvrR.getStm();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间 Calendar calendar = Calendar.getInstance();
if(ObjectUtils.isEmpty(stm)){ // 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
calendar.add(Calendar.DATE, -40); if(ObjectUtils.isEmpty(stm)){
} else { calendar.add(Calendar.DATE, -40);
calendar.add(Calendar.SECOND, 1); } else {
} calendar.add(Calendar.SECOND, 1);
stm = calendar.getTime(); }
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskzzhisRoute) stm = calendar.getTime();
.post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskzzhisRoute)
.add("stm", sdfH.format(stm)) .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd())
.add("etm", sdfH.format(now)) .add("stm", sdfH.format(stm))
.build()) .add("etm", sdfH.format(now))
.build()).execute(); .build())
String respStr = resp.body().string(); .build()).execute();
ObjectMapper om = new ObjectMapper(); String respStr = resp.body().string();
Map map = om.readValue(respStr, Map.class); ObjectMapper om = new ObjectMapper();
if("400".equals(map.get("code").toString())){ Map map = om.readValue(respStr, Map.class);
continue; if("400".equals(map.get("code").toString())){
} continue;
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); }
if(CollectionUtils.isNotEmpty(list)){ List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
List<StRsvrR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StRsvrR.class); if(CollectionUtils.isNotEmpty(list)){
stRsvrRService.saveBatch(rlist); List<StRsvrR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StRsvrR.class);
stRsvrRService.saveBatch(rlist);
}
} }
} }
} }
@ -388,20 +398,22 @@ public class DataTask {
ObjectMapper om = new ObjectMapper(); ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class); Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) { if(CollectionUtils.isNotEmpty(list)){
StImgRReal stImgRReal = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgRReal.class); for (Map map1 : list) {
if(ObjectUtils.isEmpty(stImgRReal.getChtm())){ StImgRReal stImgRReal = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgRReal.class);
stImgRReal.setChtm(new Date()); if(ObjectUtils.isEmpty(stImgRReal.getChtm())){
stImgRReal.setChtm(new Date());
}
if(ObjectUtils.isEmpty(stImgRReal.getChid())){
stImgRReal.setChid(map1.get("machineid").toString());
}
if(ObjectUtils.isEmpty(stImgRReal.getImgPath())){
stImgRReal.setImgPath(map1.get("url").toString());
}
UpdateWrapper<StImgRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stImgRReal.getStcd()).eq("chid", stImgRReal.getChid());
stImgRRealService.saveOrUpdate(stImgRReal, updateWrapper);
} }
if(ObjectUtils.isEmpty(stImgRReal.getChid())){
stImgRReal.setChid(map1.get("machineid").toString());
}
if(ObjectUtils.isEmpty(stImgRReal.getImgPath())){
stImgRReal.setImgPath(map1.get("url").toString());
}
UpdateWrapper<StImgRReal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("stcd", stImgRReal.getStcd()).eq("chid", stImgRReal.getChid());
stImgRRealService.saveOrUpdate(stImgRReal, updateWrapper);
} }
} }
catch (IOException e) catch (IOException e)
@ -426,45 +438,47 @@ public class DataTask {
List<StImgR> stcdLast = stImgRService.getStcdLastImgData(); List<StImgR> stcdLast = stImgRService.getStcdLastImgData();
OkHttpClient client = OkHttpUtil.build(); OkHttpClient client = OkHttpUtil.build();
try { try {
for (StImgR stImgR : stcdLast) { if(CollectionUtils.isNotEmpty(stcdLast)){
Date stm = stImgR.getStm(); for (StImgR stImgR : stcdLast) {
Calendar calendar = Calendar.getInstance(); Date stm = stImgR.getStm();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间 Calendar calendar = Calendar.getInstance();
if(ObjectUtils.isEmpty(stm)){ // 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
calendar.add(Calendar.DATE, -40); if(ObjectUtils.isEmpty(stm)){
} else { calendar.add(Calendar.DATE, -40);
calendar.add(Calendar.SECOND, 1); } else {
} calendar.add(Calendar.SECOND, 1);
stm = calendar.getTime(); }
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpichisRoute) stm = calendar.getTime();
.post(new FormBody.Builder().add("stcd", stImgR.getStcd()) Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpichisRoute)
.add("stm", sdfH.format(stm)) .post(new FormBody.Builder().add("stcd", stImgR.getStcd())
.add("etm", sdfH.format(now)) .add("stm", sdfH.format(stm))
.build()) .add("etm", sdfH.format(now))
.build()).execute(); .build())
String respStr = resp.body().string(); .build()).execute();
ObjectMapper om = new ObjectMapper(); String respStr = resp.body().string();
Map map = om.readValue(respStr, Map.class); ObjectMapper om = new ObjectMapper();
if ("400".equals(map.get("code").toString())) { Map map = om.readValue(respStr, Map.class);
continue; if ("400".equals(map.get("code").toString())) {
} continue;
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data"); }
if (CollectionUtils.isNotEmpty(list)) { List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
List<StImgR> rlist = list.stream().map(map1 -> { if (CollectionUtils.isNotEmpty(list)) {
StImgR stImgRNew = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgR.class); List<StImgR> rlist = list.stream().map(map1 -> {
// 手动设置对应属性 StImgR stImgRNew = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgR.class);
if(ObjectUtils.isEmpty(stImgRNew.getChtm())){ // 手动设置对应属性
stImgRNew.setChtm(new Date()); if(ObjectUtils.isEmpty(stImgRNew.getChtm())){
} stImgRNew.setChtm(new Date());
if(ObjectUtils.isEmpty(stImgRNew.getChid())){ }
stImgRNew.setChid(map1.get("machineid").toString()); if(ObjectUtils.isEmpty(stImgRNew.getChid())){
} stImgRNew.setChid(map1.get("machineid").toString());
if(ObjectUtils.isEmpty(stImgRNew.getImgPath())){ }
stImgRNew.setImgPath(map1.get("url").toString()); if(ObjectUtils.isEmpty(stImgRNew.getImgPath())){
} stImgRNew.setImgPath(map1.get("url").toString());
return stImgRNew; }
}).collect(Collectors.toList()); return stImgRNew;
stImgRService.saveBatch(rlist); }).collect(Collectors.toList());
stImgRService.saveBatch(rlist);
}
} }
} }
} }

View File

@ -0,0 +1,5 @@
spring:
config:
import:
- config-common.yml
- config-prod.yml

View File

@ -14,12 +14,12 @@ spring:
username: gunshiiot username: gunshiiot
password: 1234567a password: 1234567a
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
data: data:
redis: redis:
host: 36.133.116.124 host: 10.0.41.112
port: 6379 port: 6379
password: 1234567a password: 1234567a
database: 4 database: 4
mybatis-plus: mybatis-plus:
configuration: configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl