如何将JSON转化为Java对象
public void saveEqByRoomId(JSONObject obj, String roomId) throws CommonException{
if (obj == null) {
throw new CommonException("当前内容不能为空!");
}
List<CoCfmCfEq> eqList = obj.getJSONArray("eqData").toJavaList(CoCfmCfEq.class);
CoCfmCfroom coCfmCfroom = obj.getJSONObject("roomData").toJavaObject(CoCfmCfroom.class);
roomId = cfroomService.saveRoom(coCfmCfroom).getRoomId();
QueryWrapper<CoCfmMeetDeviceAsso> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNotEmpty(roomId),"ROOM_ID",roomId);
List<CoCfmMeetDeviceAsso> roomList = this.baseMapper.selectList(queryWrapper);
if (!roomList.isEmpty()) {
List<String> eqIds = eqList.stream().map(CoCfmCfEq::getEqId).collect(Collectors.toList());
List<String> roomIds = roomList.stream().map(CoCfmMeetDeviceAsso::getEqId).collect(Collectors.toList());
for (CoCfmCfEq eq : eqList) {
if (!roomIds.contains(eq.getEqId())) {
CoCfmMeetDeviceAsso entity = new CoCfmMeetDeviceAsso();
entity.setRoomId(roomId);
entity.setEqId(eq.getEqId());
this.baseMapper.insert(entity);
}
}
for (CoCfmMeetDeviceAsso co : roomList) {
if (!eqIds.contains(co.getEqId())) {
QueryWrapper<CoCfmMeetDeviceAsso> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotEmpty(co.getEqId()),"EQ_ID",co.getEqId());
this.baseMapper.deleteData(wrapper);
}
}
} else {
for(CoCfmCfEq co : eqList){
CoCfmMeetDeviceAsso coCf = new CoCfmMeetDeviceAsso();
coCf.setRoomId(roomId);
coCf.setEqId(co.getEqId());
this.baseMapper.insert(coCf);
}
}
}