|
@@ -354,19 +354,26 @@ public class LawenforcementRecordServiceImpl extends BaseServiceImpl implements
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
//转换为实体类集合
|
|
//转换为实体类集合
|
|
- List<LawenforcementRecordDetailVO> recordListMessage = JSONArray.parseArray(messageArray.toJSONString(), LawenforcementRecordDetailVO.class);
|
|
|
|
|
|
+// List<LawenforcementRecordDetailVO> recordListMessage = JSONArray.parseArray(messageArray.toJSONString(), LawenforcementRecordDetailVO.class);
|
|
|
|
|
|
//存储数据的id
|
|
//存储数据的id
|
|
List<String> idArray = new ArrayList<>();
|
|
List<String> idArray = new ArrayList<>();
|
|
|
|
|
|
//以id为key,数据对象为value
|
|
//以id为key,数据对象为value
|
|
- Map<String, LawenforcementRecordDetailVO> recordMap = new HashMap<>();
|
|
|
|
|
|
+ Map<String, JSONObject> recordMap = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < messageArray.size(); i++) {
|
|
|
|
+ JSONObject message = messageArray.getJSONObject(i);
|
|
|
|
+
|
|
|
|
+ idArray.add(message.getString("id"));
|
|
|
|
+ recordMap.put(message.getString("id"), message);
|
|
|
|
+ }
|
|
|
|
|
|
//遍历报文数据,存储需要的信息
|
|
//遍历报文数据,存储需要的信息
|
|
- recordListMessage.forEach(message->{
|
|
|
|
- idArray.add(message.getId());
|
|
|
|
- recordMap.put(message.getId(), message);
|
|
|
|
- });
|
|
|
|
|
|
+ /* recordListMessage.forEach(message->{
|
|
|
|
+ idArray.add(message.getString("id"));
|
|
|
|
+ recordMap.put(message.getString("id"), message);
|
|
|
|
+ });*/
|
|
|
|
|
|
//调用获取数据方法,查出存在的数据
|
|
//调用获取数据方法,查出存在的数据
|
|
List<Map<String, Object>> existMessage = recordMapper.getExistMessage(idArray);
|
|
List<Map<String, Object>> existMessage = recordMapper.getExistMessage(idArray);
|
|
@@ -374,20 +381,20 @@ public class LawenforcementRecordServiceImpl extends BaseServiceImpl implements
|
|
//对存在的数据进行遍历更新;并且在recordMap中移除已经更新的数据
|
|
//对存在的数据进行遍历更新;并且在recordMap中移除已经更新的数据
|
|
existMessage.forEach(existMap->{
|
|
existMessage.forEach(existMap->{
|
|
//取出本次报文中id存在的数据
|
|
//取出本次报文中id存在的数据
|
|
- LawenforcementRecordDetailVO message = recordMap.get(MapUtils.getString(existMap, "id"));
|
|
|
|
|
|
+ JSONObject message = recordMap.get(MapUtils.getString(existMap, "id"));
|
|
|
|
|
|
//报文数据的更新时间不是空,证明有更新
|
|
//报文数据的更新时间不是空,证明有更新
|
|
- if(!Objects.equals(MapUtils.getLong(existMap, "dataUpdateTime"), message.getUpdateTime())){
|
|
|
|
|
|
+ if(!Objects.equals(MapUtils.getLong(existMap, "dataUpdateTime"), Long.parseLong(message.getString("updateTime")))){
|
|
Map<String, Object> addMessage = new HashMap<>();
|
|
Map<String, Object> addMessage = new HashMap<>();
|
|
- addMessage.put("id", message.getId());
|
|
|
|
- addMessage.put("jsonData", message);
|
|
|
|
|
|
+ addMessage.put("id", message.getString("id"));
|
|
|
|
+ addMessage.put("jsonData", message.toString());
|
|
addMessage.put("updateTime", simpleDateFormat.format(new Date()));
|
|
addMessage.put("updateTime", simpleDateFormat.format(new Date()));
|
|
- addMessage.put("dataUpdateTime", message.getUpdateTime());
|
|
|
|
|
|
+ addMessage.put("dataUpdateTime", message.getString("updateTime"));
|
|
recordMapper.updateJsonData(addMessage);
|
|
recordMapper.updateJsonData(addMessage);
|
|
}
|
|
}
|
|
|
|
|
|
//移除更新的记录
|
|
//移除更新的记录
|
|
- recordMap.remove(message.getId());
|
|
|
|
|
|
+ recordMap.remove(message.getString("id"));
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
@@ -395,16 +402,16 @@ public class LawenforcementRecordServiceImpl extends BaseServiceImpl implements
|
|
List<Map<String, Object>> addMessageList = new ArrayList<>();
|
|
List<Map<String, Object>> addMessageList = new ArrayList<>();
|
|
//遍历剩余的map数据,用于新增报文
|
|
//遍历剩余的map数据,用于新增报文
|
|
recordMap.keySet().forEach(messageId->{
|
|
recordMap.keySet().forEach(messageId->{
|
|
- LawenforcementRecordDetailVO lawenforcementRecordDetailVO = recordMap.get(messageId);
|
|
|
|
|
|
+ JSONObject jsonObject = recordMap.get(messageId);
|
|
|
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
Map<String, Object> addMessage = new HashMap<>();
|
|
Map<String, Object> addMessage = new HashMap<>();
|
|
addMessage.put("id", messageId);
|
|
addMessage.put("id", messageId);
|
|
- addMessage.put("jsonData", lawenforcementRecordDetailVO);
|
|
|
|
|
|
+ addMessage.put("jsonData", jsonObject.toString());
|
|
addMessage.put("createTime", simpleDateFormat.format(date));
|
|
addMessage.put("createTime", simpleDateFormat.format(date));
|
|
addMessage.put("updateTime", simpleDateFormat.format(date));
|
|
addMessage.put("updateTime", simpleDateFormat.format(date));
|
|
- addMessage.put("dataCreateTime", lawenforcementRecordDetailVO.getCreateTime());
|
|
|
|
- addMessage.put("dataUpdateTime", lawenforcementRecordDetailVO.getUpdateTime());
|
|
|
|
|
|
+ addMessage.put("dataCreateTime", jsonObject.getString("createTime"));
|
|
|
|
+ addMessage.put("dataUpdateTime", jsonObject.getString("updateTime"));
|
|
addMessageList.add(addMessage);
|
|
addMessageList.add(addMessage);
|
|
});
|
|
});
|
|
//如果新增的数据集合中不是空,则批量写入报文数据
|
|
//如果新增的数据集合中不是空,则批量写入报文数据
|