|
@@ -1,20 +1,32 @@
|
|
|
package com.zswl.dataservice.service.mqtt;
|
|
package com.zswl.dataservice.service.mqtt;
|
|
|
|
|
|
|
|
|
|
+import com.zswl.dataservice.dao.iot.IotTemplateDao;
|
|
|
import com.zswl.dataservice.dao.mqtt.DeviceInfoDao;
|
|
import com.zswl.dataservice.dao.mqtt.DeviceInfoDao;
|
|
|
|
|
+import com.zswl.dataservice.dao.mqtt.ProjectInfoDao;
|
|
|
|
|
+import com.zswl.dataservice.dataConfig.ResultMessage;
|
|
|
|
|
+import com.zswl.dataservice.domain.iot.IotTemplate;
|
|
|
import com.zswl.dataservice.domain.mqtt.DeviceInfo;
|
|
import com.zswl.dataservice.domain.mqtt.DeviceInfo;
|
|
|
|
|
+import com.zswl.dataservice.domain.mqtt.ProjectInfo;
|
|
|
|
|
+import com.zswl.dataservice.model.iot.IotMainModel;
|
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoAddParam;
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoAddParam;
|
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoModel;
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoModel;
|
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoSearchParam;
|
|
import com.zswl.dataservice.model.mqtt.DeviceInfoSearchParam;
|
|
|
|
|
+import com.zswl.dataservice.model.mqtt.DeviceInfoUpdateRemark;
|
|
|
|
|
+import com.zswl.dataservice.service.iot.IotServiceImpl;
|
|
|
import com.zswl.dataservice.utils.bean.BeanUtils;
|
|
import com.zswl.dataservice.utils.bean.BeanUtils;
|
|
|
import com.zswl.dataservice.utils.mqtt.type.LogsLevel;
|
|
import com.zswl.dataservice.utils.mqtt.type.LogsLevel;
|
|
|
import com.zswl.dataservice.utils.page.PageEntityUtil;
|
|
import com.zswl.dataservice.utils.page.PageEntityUtil;
|
|
|
import com.zswl.dataservice.utils.result.ResultContent;
|
|
import com.zswl.dataservice.utils.result.ResultContent;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author TRX
|
|
* @author TRX
|
|
|
* @date 2024/5/14
|
|
* @date 2024/5/14
|
|
@@ -27,6 +39,18 @@ public class DeviceInfoService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
OperationLogsService operationLogsService;
|
|
OperationLogsService operationLogsService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ IotTemplateDao iotTemplateDao;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ IotServiceImpl iotService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ ProjectInfoDao projectInfoDao;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ ProjectInfoService projectInfoService;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 添加设备
|
|
* 添加设备
|
|
|
*
|
|
*
|
|
@@ -40,6 +64,16 @@ public class DeviceInfoService {
|
|
|
}
|
|
}
|
|
|
deviceInfo = new DeviceInfo();
|
|
deviceInfo = new DeviceInfo();
|
|
|
BeanUtils.copyProperties(param, deviceInfo);
|
|
BeanUtils.copyProperties(param, deviceInfo);
|
|
|
|
|
+ ProjectInfo projectInfo = null;
|
|
|
|
|
+ if (StringUtils.isNotEmpty(param.getProjectInfoOid())) {
|
|
|
|
|
+ projectInfo = projectInfoDao.findTopByCode(param.getProjectInfoOid());
|
|
|
|
|
+ }
|
|
|
|
|
+ deviceInfo.setProjectInfo(projectInfo);
|
|
|
|
|
+ IotTemplate iotTemplate = null;
|
|
|
|
|
+ if (StringUtils.isNotEmpty(param.getIotTemplateId())) {
|
|
|
|
|
+ iotTemplate = iotTemplateDao.findTopById(param.getIotTemplateId());
|
|
|
|
|
+ }
|
|
|
|
|
+ deviceInfo.setIotTemplate(iotTemplate);
|
|
|
deviceInfoDao.save(deviceInfo);
|
|
deviceInfoDao.save(deviceInfo);
|
|
|
operationLogsService.addLogs(String.format("添加了设备;%s", deviceInfo.getDeviceName()), LogsLevel.Middle, deviceInfo);
|
|
operationLogsService.addLogs(String.format("添加了设备;%s", deviceInfo.getDeviceName()), LogsLevel.Middle, deviceInfo);
|
|
|
return ResultContent.buildSuccess(deviceInfo);
|
|
return ResultContent.buildSuccess(deviceInfo);
|
|
@@ -73,6 +107,87 @@ public class DeviceInfoService {
|
|
|
return ResultContent.buildSuccess(PageEntityUtil.toPageModel(page, this::toModel));
|
|
return ResultContent.buildSuccess(PageEntityUtil.toPageModel(page, this::toModel));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public ResultContent updateRemark(DeviceInfoUpdateRemark param) {
|
|
|
|
|
+ DeviceInfo deviceInfo = deviceInfoDao.findTopById(param.getId());
|
|
|
|
|
+ if (ObjectUtils.isEmpty(deviceInfo)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ deviceInfo.setRemark(param.getRemark());
|
|
|
|
|
+ deviceInfoDao.save(deviceInfo);
|
|
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 编辑设备关联的模版
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param param
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public ResultContent updateIopTemplate(DeviceInfoUpdateRemark param) {
|
|
|
|
|
+ DeviceInfo deviceInfo = deviceInfoDao.findTopById(param.getId());
|
|
|
|
|
+ if (ObjectUtils.isEmpty(deviceInfo)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ IotTemplate iotTemplate = iotTemplateDao.findTopById(param.getIotTemplateId());
|
|
|
|
|
+ if (ObjectUtils.isEmpty(iotTemplate)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format("模版ID不存在:", param.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ deviceInfo.setIotTemplate(iotTemplate);
|
|
|
|
|
+ deviceInfoDao.save(deviceInfo);
|
|
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 编辑设备关联的模版
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param param
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public ResultContent updateIsReportLogs(DeviceInfoUpdateRemark param) {
|
|
|
|
|
+ DeviceInfo deviceInfo = deviceInfoDao.findTopById(param.getId());
|
|
|
|
|
+ if (ObjectUtils.isEmpty(deviceInfo)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ deviceInfo.setIsReportLogs(param.getIsReportLogs());
|
|
|
|
|
+ deviceInfoDao.save(deviceInfo);
|
|
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 测试设备的连接时间
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param id
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public ResultContent<Long> testDevice(String id) {
|
|
|
|
|
+ Long time = 0L;
|
|
|
|
|
+
|
|
|
|
|
+ return ResultContent.buildSuccess(time);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 得到设备关联的物模型定义
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param id
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public ResultContent<List<IotMainModel>> getDeviceIotMain(String id) {
|
|
|
|
|
+ DeviceInfo deviceInfo = deviceInfoDao.findTopById(id);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(deviceInfo)) {
|
|
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, id));
|
|
|
|
|
+ }
|
|
|
|
|
+ List<IotMainModel> models = new ArrayList<>();
|
|
|
|
|
+ if (deviceInfo.getIotTemplate() != null) {
|
|
|
|
|
+ ResultContent<List<IotMainModel>> resultContent = iotService.getTemplateIotMainList(deviceInfo.getIotTemplate().getId());
|
|
|
|
|
+ models = resultContent.getContent();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return ResultContent.buildSuccess(models);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 删除设备
|
|
* 删除设备
|
|
|
*
|
|
*
|
|
@@ -102,6 +217,8 @@ public class DeviceInfoService {
|
|
|
DeviceInfoModel deviceInfoModel = new DeviceInfoModel();
|
|
DeviceInfoModel deviceInfoModel = new DeviceInfoModel();
|
|
|
if (ObjectUtils.isNotEmpty(deviceInfo)) {
|
|
if (ObjectUtils.isNotEmpty(deviceInfo)) {
|
|
|
BeanUtils.copyProperties(deviceInfo, deviceInfoModel);
|
|
BeanUtils.copyProperties(deviceInfo, deviceInfoModel);
|
|
|
|
|
+ deviceInfoModel.setIotTemplate(iotService.toModel(deviceInfo.getIotTemplate()));
|
|
|
|
|
+ deviceInfoModel.setProjectInfo(projectInfoService.toModel(deviceInfo.getProjectInfo()));
|
|
|
}
|
|
}
|
|
|
return deviceInfoModel;
|
|
return deviceInfoModel;
|
|
|
}
|
|
}
|