修复判空、增加配置文件

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();
Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) {
StPptnRReal stPptnRReal = new ObjectMapper().convertValue(map1, StPptnRReal.class);
if(ObjectUtils.isEmpty(stPptnRReal.getChtm())){
stPptnRReal.setChtm(new Date());
if(CollectionUtils.isNotEmpty(list)){
for (Map map1 : list) {
StPptnRReal stPptnRReal = new ObjectMapper().convertValue(map1, StPptnRReal.class);
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)
@ -176,32 +178,34 @@ public class DataTask {
List<StPptnR> stcdLast = stPptnRService.getStcdLastPptnData();
OkHttpClient client = OkHttpUtil.build();
try {
for(StPptnR stPptnR : stcdLast){
Date stm = stPptnR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpphisRoute)
.post(new FormBody.Builder().add("stcd", stPptnR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if("400".equals(map.get("code").toString())){
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if(CollectionUtils.isNotEmpty(list)){
List<StPptnR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StPptnR.class);
stPptnRService.saveBatch(rlist);
if(CollectionUtils.isNotEmpty(stcdLast)){
for(StPptnR stPptnR : stcdLast){
Date stm = stPptnR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpphisRoute)
.post(new FormBody.Builder().add("stcd", stPptnR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if("400".equals(map.get("code").toString())){
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if(CollectionUtils.isNotEmpty(list)){
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();
OkHttpClient client = OkHttpUtil.build();
try {
for(StPptnRD stPptnRD : stcdLast){
String stcd = stPptnRD.getStcd();
Date stm = stPptnRD.getStm();
Calendar calendar = Calendar.getInstance();
// 默认两周前的时间接口只提供addvcd的条件数据量较大如果存在需要加一天接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -14);
} else {
calendar.add(Calendar.DATE, 1);
}
stm = calendar.getTime();
MediaType mediaType = MediaType.parse("application/json");
SyncDataReq syncDataReq = new SyncDataReq();
syncDataReq.setAdcd(stPptnRD.getAddvcd());
syncDataReq.setType("SK");
syncDataReq.setStartDate(sdfD.format(stm));
syncDataReq.setEndDate(sdfD.format(now));
RequestBody body = RequestBody.create(JacksonUtils.writeValue(syncDataReq), mediaType);
Response resp = client.newCall(new Request.Builder().url(apiPath)
.post(body)
.build()).execute();
String respStr = resp.body().string();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SkSyncResp resq = objectMapper.readValue(respStr, SkSyncResp.class);
SkSyncData data = resq.getData();
List<StPptnRD> stPptnRDList = data.getStPptnRD();
if(CollectionUtils.isNotEmpty(stPptnRDList)) {
Iterator<StPptnRD> iterator = stPptnRDList.iterator();
while (iterator.hasNext()) {
StPptnRD stPptnRD1 = iterator.next();
if (!stcd.equals(stPptnRD1.getStcd())) {
iterator.remove();
continue;
}
stPptnRD1.setYear(Integer.valueOf(sdfD.format(stPptnRD1.getTm()).substring(0, 4)));
if(CollectionUtils.isNotEmpty(stcdLast)){
for(StPptnRD stPptnRD : stcdLast){
String stcd = stPptnRD.getStcd();
Date stm = stPptnRD.getStm();
Calendar calendar = Calendar.getInstance();
// 默认两周前的时间接口只提供addvcd的条件数据量较大如果存在需要加一天接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -14);
} else {
calendar.add(Calendar.DATE, 1);
}
stm = calendar.getTime();
MediaType mediaType = MediaType.parse("application/json");
SyncDataReq syncDataReq = new SyncDataReq();
syncDataReq.setAdcd(stPptnRD.getAddvcd());
syncDataReq.setType("SK");
syncDataReq.setStartDate(sdfD.format(stm));
syncDataReq.setEndDate(sdfD.format(now));
RequestBody body = RequestBody.create(JacksonUtils.writeValue(syncDataReq), mediaType);
Response resp = client.newCall(new Request.Builder().url(apiPath)
.post(body)
.build()).execute();
String respStr = resp.body().string();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SkSyncResp resq = objectMapper.readValue(respStr, SkSyncResp.class);
SkSyncData data = resq.getData();
List<StPptnRD> stPptnRDList = data.getStPptnRD();
if(CollectionUtils.isNotEmpty(stPptnRDList)) {
Iterator<StPptnRD> iterator = stPptnRDList.iterator();
while (iterator.hasNext()) {
StPptnRD stPptnRD1 = iterator.next();
if (!stcd.equals(stPptnRD1.getStcd())) {
iterator.remove();
continue;
}
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();
Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) {
StRsvrRReal stRsvrRReal = new ObjectMapper().convertValue(map1, StRsvrRReal.class);
if(ObjectUtils.isEmpty(stRsvrRReal.getChtm())){
stRsvrRReal.setChtm(new Date());
if(CollectionUtils.isNotEmpty(list)){
for (Map map1 : list) {
StRsvrRReal stRsvrRReal = new ObjectMapper().convertValue(map1, StRsvrRReal.class);
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)
@ -330,32 +338,34 @@ public class DataTask {
List<StRsvrR> stcdLast = stRsvrRService.getStcdLastRsvrData();
OkHttpClient client = OkHttpUtil.build();
try {
for(StRsvrR stRsvrR : stcdLast){
Date stm = stRsvrR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskzzhisRoute)
.post(new FormBody.Builder().add("stcd", stRsvrR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if("400".equals(map.get("code").toString())){
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if(CollectionUtils.isNotEmpty(list)){
List<StRsvrR> rlist = JSONObject.parseArray(JSONObject.toJSONString(list)).toJavaList(StRsvrR.class);
stRsvrRService.saveBatch(rlist);
if(CollectionUtils.isNotEmpty(stcdLast)){
for(StRsvrR stRsvrR : stcdLast){
Date stm = stRsvrR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskzzhisRoute)
.post(new FormBody.Builder().add("stcd", stRsvrR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if("400".equals(map.get("code").toString())){
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if(CollectionUtils.isNotEmpty(list)){
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();
Map map = om.readValue(respStr, Map.class);
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
for (Map map1 : list) {
StImgRReal stImgRReal = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgRReal.class);
if(ObjectUtils.isEmpty(stImgRReal.getChtm())){
stImgRReal.setChtm(new Date());
if(CollectionUtils.isNotEmpty(list)){
for (Map map1 : list) {
StImgRReal stImgRReal = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setDateFormat(sdf).convertValue(map1, StImgRReal.class);
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)
@ -426,45 +438,47 @@ public class DataTask {
List<StImgR> stcdLast = stImgRService.getStcdLastImgData();
OkHttpClient client = OkHttpUtil.build();
try {
for (StImgR stImgR : stcdLast) {
Date stm = stImgR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpichisRoute)
.post(new FormBody.Builder().add("stcd", stImgR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if ("400".equals(map.get("code").toString())) {
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if (CollectionUtils.isNotEmpty(list)) {
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.getChid())){
stImgRNew.setChid(map1.get("machineid").toString());
}
if(ObjectUtils.isEmpty(stImgRNew.getImgPath())){
stImgRNew.setImgPath(map1.get("url").toString());
}
return stImgRNew;
}).collect(Collectors.toList());
stImgRService.saveBatch(rlist);
if(CollectionUtils.isNotEmpty(stcdLast)){
for (StImgR stImgR : stcdLast) {
Date stm = stImgR.getStm();
Calendar calendar = Calendar.getInstance();
// 默认40天前接口最多40天存在则加1秒接口是大于等于开始时间
if(ObjectUtils.isEmpty(stm)){
calendar.add(Calendar.DATE, -40);
} else {
calendar.add(Calendar.SECOND, 1);
}
stm = calendar.getTime();
Response resp = client.newCall(new Request.Builder().url(owrsvrPath + hbskpichisRoute)
.post(new FormBody.Builder().add("stcd", stImgR.getStcd())
.add("stm", sdfH.format(stm))
.add("etm", sdfH.format(now))
.build())
.build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
if ("400".equals(map.get("code").toString())) {
continue;
}
List<LinkedHashMap> list = (List<LinkedHashMap>)map.get("data");
if (CollectionUtils.isNotEmpty(list)) {
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.getChid())){
stImgRNew.setChid(map1.get("machineid").toString());
}
if(ObjectUtils.isEmpty(stImgRNew.getImgPath())){
stImgRNew.setImgPath(map1.get("url").toString());
}
return stImgRNew;
}).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
password: 1234567a
driver-class-name: org.postgresql.Driver
data:
redis:
host: 36.133.116.124
port: 6379
password: 1234567a
database: 4
data:
redis:
host: 10.0.41.112
port: 6379
password: 1234567a
database: 4
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl