|
|
@@ -422,28 +422,32 @@ public class SmsbDeviceServiceImpl implements ISmsbDeviceService {
|
|
|
public R<Void> uploadMultiCard(FrontMultiCardUploadVo frontMultiCardUploadVo) {
|
|
|
String identifier = frontMultiCardUploadVo.getIdentifier();
|
|
|
JSONObject data = JSONUtil.parseObj(frontMultiCardUploadVo.getData().replace("'","\""));
|
|
|
- JSONArray current_status_info = data.getJSONArray("current_status_info");
|
|
|
- if (current_status_info.size() < 1) {
|
|
|
- log.info("uploadMultiCard current_status_info size < 1 return");
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- JSONArray updatePowerIndexStates = ((JSONObject) current_status_info.get(0)).getJSONArray("updatePowerIndexStates");
|
|
|
- if (updatePowerIndexStates.size() < 1) {
|
|
|
- log.info("uploadMultiCard updatePowerIndexStates size < 1 return");
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- List<SmsbDeviceMultiCardVo> multiCardVoList = new ArrayList<>();
|
|
|
- String syncTime = DateUtil.formatDateTime(new Date());
|
|
|
- for (Object indexState : updatePowerIndexStates) {
|
|
|
- JSONObject indexStateJson = (JSONObject) indexState;
|
|
|
- SmsbDeviceMultiCardVo multiCardVo = new SmsbDeviceMultiCardVo();
|
|
|
- multiCardVo.setSyncTime(syncTime);
|
|
|
- multiCardVo.setPowerStatus(indexStateJson.getInt("status"));
|
|
|
- multiCardVo.setIndexNum(indexStateJson.getInt("powerIndex"));
|
|
|
- multiCardVo.setPowerType(1);
|
|
|
- multiCardVoList.add(multiCardVo);
|
|
|
+ try {
|
|
|
+ JSONArray current_status_info = data.getJSONArray("current_status_info");
|
|
|
+ if (current_status_info.size() < 1) {
|
|
|
+ log.info("uploadMultiCard current_status_info size < 1 return");
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ JSONArray updatePowerIndexStates = ((JSONObject) current_status_info.get(0)).getJSONArray("updatePowerIndexStates");
|
|
|
+ if (updatePowerIndexStates.size() < 1) {
|
|
|
+ log.info("uploadMultiCard updatePowerIndexStates size < 1 return");
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ List<SmsbDeviceMultiCardVo> multiCardVoList = new ArrayList<>();
|
|
|
+ String syncTime = DateUtil.formatDateTime(new Date());
|
|
|
+ for (Object indexState : updatePowerIndexStates) {
|
|
|
+ JSONObject indexStateJson = (JSONObject) indexState;
|
|
|
+ SmsbDeviceMultiCardVo multiCardVo = new SmsbDeviceMultiCardVo();
|
|
|
+ multiCardVo.setSyncTime(syncTime);
|
|
|
+ multiCardVo.setPowerStatus(indexStateJson.getInt("status"));
|
|
|
+ multiCardVo.setIndexNum(indexStateJson.getInt("powerIndex"));
|
|
|
+ multiCardVo.setPowerType(1);
|
|
|
+ multiCardVoList.add(multiCardVo);
|
|
|
+ }
|
|
|
+ RedisUtils.setCacheObject(DeviceConstants.REDIS_DEVICE_MULTI_CARD_KEY + identifier, multiCardVoList, Duration.ofMinutes(30));
|
|
|
+ }catch (Exception e) {
|
|
|
+ log.error("uploadMultiCard 解析JSON数据异常!");
|
|
|
}
|
|
|
- RedisUtils.setCacheObject(DeviceConstants.REDIS_DEVICE_MULTI_CARD_KEY + identifier, multiCardVoList, Duration.ofMinutes(30));
|
|
|
return R.ok();
|
|
|
}
|
|
|
|