TRX 1 год назад
Родитель
Сommit
1ec17afeee

+ 1 - 1
src/main/java/com/zswl/dataservice/controller/free/ProjectFromFullCardController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author TRX
  * @date 2024/6/28
  */
-@RequestMapping("/project/free")
+@RequestMapping("/projectSync/free")
 @RestController
 @Validated
 @Tag(name = "项目信息同步")

+ 5 - 0
src/main/java/com/zswl/dataservice/service/artemis/OperationMessageService.java

@@ -206,6 +206,7 @@ public class OperationMessageService {
             Long time = jsonObject.getLong("time");
             Long ttl = jsonObject.getLong("ttl");
             String event = jsonObject.getStr("event");
+            String gateWayId = jsonObject.getStr("gateWayId");
             boolean isTimeOut = false;
             if (System.currentTimeMillis() > (time + ttl)) {
                 isTimeOut = true;
@@ -222,6 +223,7 @@ public class OperationMessageService {
             operationMessage.setDataId(id);
             operationMessage.setIsTimeOut(isTimeOut);
             operationMessage.setEvent(event);
+            operationMessage.setGateWayId(gateWayId);
             addOperationMessage(operationMessage);
         } catch (Exception e) {
             e.printStackTrace();
@@ -271,6 +273,9 @@ public class OperationMessageService {
             stopWatch.start();
             boolean isHandleSuccess = true;
             String handleMsg = "处理成功";
+            JSONObject jsonObject1 = (JSONObject) json.get("data");
+            String DeviceId = jsonObject1.getStr("DeviceId");
+            entity.setDeviceId(DeviceId);
             try {
                 ExecuteMethodInfo executeMethodInfo = executeMethodInfoDao.findTopByEvent(event);
                 if (ObjectUtils.isNotEmpty(executeMethodInfo)) {

+ 10 - 21
src/main/java/com/zswl/dataservice/service/mqtt/ProjectInfoService.java

@@ -4,6 +4,7 @@ import com.zswl.dataservice.dao.mqtt.ProjectInfoDao;
 import com.zswl.dataservice.domain.mqtt.DeviceInfo;
 import com.zswl.dataservice.domain.mqtt.ProjectInfo;
 import com.zswl.dataservice.model.mqtt.*;
+import com.zswl.dataservice.service.base.SuperService;
 import com.zswl.dataservice.utils.bean.BeanUtils;
 import com.zswl.dataservice.utils.mqtt.type.CommonState;
 import com.zswl.dataservice.utils.page.PageEntityUtil;
@@ -26,7 +27,7 @@ import java.util.stream.Collectors;
  */
 @Slf4j
 @Service
-public class ProjectInfoService {
+public class ProjectInfoService extends SuperService {
 
     @Autowired
     ProjectInfoDao projectInfoDao;
@@ -37,28 +38,16 @@ public class ProjectInfoService {
      * @param param
      * @return
      */
-    public ResultContent<DeviceInfo> addProjectInfo(ProjectInfoAddParam param) {
-        ProjectInfo projectInfo = null;
-        if (StringUtils.isNotEmpty(param.getId())) {
-            projectInfo = projectInfoDao.findTopById(param.getId());
-            if (ObjectUtils.isEmpty(projectInfo)) {
-                return ResultContent.buildFail(String.format("数据ID不存在:%s", param.getId()));
-            }
-            ProjectInfo projectInfo1 = projectInfoDao.findTopByCode(param.getCode());
-            if (ObjectUtils.isNotEmpty(projectInfo1)) {
-                if (!projectInfo.getId().equals(projectInfo1.getId())) {
-                    return ResultContent.buildFail(String.format("code已存在:%s", param.getCode()));
-                }
-            }
-        } else {
-            projectInfo = projectInfoDao.findTopByCode(param.getCode());
-            if (ObjectUtils.isNotEmpty(projectInfo)) {
-                return ResultContent.buildFail(String.format("code已存在:%s", param.getCode()));
-            }
+    public ResultContent<ProjectInfo> addProjectInfo(ProjectInfoAddParam param) {
+        if (StringUtils.isEmpty(param.getCode())) {
+            return ResultContent.buildFail("code不能为空");
+        }
+        ProjectInfo projectInfo = projectInfoDao.findTopByCode(param.getCode());
+        if (ObjectUtils.isEmpty(projectInfo)) {
             projectInfo = new ProjectInfo();
-            projectInfo.setState(CommonState.Enable);
+            initEntity(projectInfo);
         }
-        BeanUtils.copyProperties(param, projectInfo);
+        BeanUtils.copyProperties(param, projectInfo, "id");
         projectInfoDao.save(projectInfo);
         return ResultContent.buildSuccess(projectInfo);
     }

+ 12 - 1
src/main/java/com/zswl/dataservice/service/sync/ProjectFromFullCardService.java

@@ -1,8 +1,12 @@
 package com.zswl.dataservice.service.sync;
 
 import com.github.microservice.models.project.ProjectSyncParam;
+import com.zswl.dataservice.model.mqtt.ProjectInfoAddParam;
+import com.zswl.dataservice.service.mqtt.ProjectInfoService;
+import com.zswl.dataservice.utils.bean.BeanUtils;
 import com.zswl.dataservice.utils.result.ResultContent;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -15,6 +19,9 @@ import java.util.List;
 @Service
 public class ProjectFromFullCardService {
 
+    @Autowired
+    ProjectInfoService projectInfoService;
+
     /**
      * 保存全卡同步过来的项目信息
      *
@@ -24,7 +31,11 @@ public class ProjectFromFullCardService {
     public ResultContent syncFromFullCardProjects(ProjectSyncParam param) {
         List<ProjectSyncParam.ProjectSyncInfo> list = param.getList();
         log.info("syncFromFullCardProjects: {}", list.size());
-
+        for (ProjectSyncParam.ProjectSyncInfo syncInfo : list) {
+            ProjectInfoAddParam addParam = new ProjectInfoAddParam();
+            BeanUtils.copyProperties(syncInfo, addParam);
+            projectInfoService.addProjectInfo(addParam);
+        }
         return ResultContent.buildSuccess();
     }