|
|
@@ -1,17 +1,14 @@
|
|
|
package com.xunmei.host.video.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.xunmei.common.core.constant.ErrorMsgConstants;
|
|
|
import com.xunmei.common.core.domain.iot.domain.*;
|
|
|
import com.xunmei.common.core.utils.JacksonUtils;
|
|
|
import com.xunmei.common.core.utils.bean.BeanUtils;
|
|
|
-import com.xunmei.host.video.dto.templateAndPlan.DvsPlanTimeDto;
|
|
|
-import com.xunmei.host.video.dto.templateAndPlan.DvsPlanTypeDto;
|
|
|
-import com.xunmei.host.video.dto.templateAndPlan.DvsTemplateChannelDto;
|
|
|
-import com.xunmei.host.video.dto.templateAndPlan.DvsTemplateDto;
|
|
|
+import com.xunmei.host.video.dto.templateAndPlan.*;
|
|
|
import com.xunmei.host.video.service.*;
|
|
|
import com.xunmei.host.websocket.constant.WebSocketConstants;
|
|
|
import com.xunmei.host.websocket.dto.WebsocketExecuteReq;
|
|
|
@@ -45,11 +42,13 @@ public class IotDvsTemplateAndPlanServiceImpl implements IotDvsTemplateAndPlanSe
|
|
|
private IotDvsPlanTimeService dvsPlanTimeService;
|
|
|
|
|
|
@Transactional
|
|
|
- public void handDvsTemplateAndPlan(List<DvsTemplateDto> dataList, IotServerInfo serverInfo) {
|
|
|
+ public void handDvsTemplateAndPlan(DvsTemplateAndPlanDto templateAndPlanDto, IotServerInfo serverInfo) {
|
|
|
//先删除数据
|
|
|
deleteDvsTemplateAndPlanByIotCode(serverInfo.getIotCode());
|
|
|
+
|
|
|
+ List<DvsTemplateDto> templateList = templateAndPlanDto.getTemplateList();
|
|
|
//处理录像模板和录像计划数据
|
|
|
- for (DvsTemplateDto dvsTemplateDto : dataList) {
|
|
|
+ for (DvsTemplateDto dvsTemplateDto : templateList) {
|
|
|
IotDvsTemplate dvsTemplate = new IotDvsTemplate();
|
|
|
BeanUtils.copyProperties(dvsTemplateDto, dvsTemplate);
|
|
|
dvsTemplate.setIotToken(serverInfo.getIotCode());
|
|
|
@@ -70,6 +69,14 @@ public class IotDvsTemplateAndPlanServiceImpl implements IotDvsTemplateAndPlanSe
|
|
|
dvsPlanTimeService.saveBatch(iotDvsPlanTimes);
|
|
|
}
|
|
|
}
|
|
|
+ //处理无录像计划的通道
|
|
|
+ List<DvsPlanTypeDto> failChannelPlanTypeList = templateAndPlanDto.getFailChannelPlanTypeList();
|
|
|
+ if (failChannelPlanTypeList.size() > 0) {
|
|
|
+ List<IotDvsPlantype> failPlanTypes = handlePlanTypeList(failChannelPlanTypeList, serverInfo.getIotCode());
|
|
|
+ if (failPlanTypes.size() > 0) {
|
|
|
+ dvsPlanTypeService.saveBatch(failPlanTypes);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -156,15 +163,15 @@ public class IotDvsTemplateAndPlanServiceImpl implements IotDvsTemplateAndPlanSe
|
|
|
try {
|
|
|
LogUtils.SOCKET_DVS_TEMPLATE_INFO.info("收到消息:{}", JacksonUtils.toJSONString(req));
|
|
|
Object data = req.getData();
|
|
|
- JSONArray dataArray = (JSONArray) data;
|
|
|
- if (ObjectUtil.isEmpty(dataArray)) {
|
|
|
+ final JSONObject param = JSON.parseObject(req.getData().toString(), JSONObject.class);
|
|
|
+ if (param.isEmpty()) {
|
|
|
return WebsocketResult.replySuccess(req);
|
|
|
}
|
|
|
IotServerInfo serverInfo = req.getServerInfo();
|
|
|
String event = req.getEvent();
|
|
|
if (event.equals(WebSocketConstants.DVS_TEMPLATE_AND_PLAN)) {
|
|
|
- List<DvsTemplateDto> dataList = dataArray.toJavaList(DvsTemplateDto.class);
|
|
|
- handDvsTemplateAndPlan(dataList, serverInfo);
|
|
|
+ DvsTemplateAndPlanDto templateAndPlanDto = param.toJavaObject(DvsTemplateAndPlanDto.class);
|
|
|
+ handDvsTemplateAndPlan(templateAndPlanDto, serverInfo);
|
|
|
}else {
|
|
|
return WebsocketResult.replyError(req, ErrorMsgConstants.ERROR_ROUTE);
|
|
|
}
|