TRX il y a 1 an
Parent
commit
e2af5d1078

+ 11 - 5
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/dao/iot/impl/IotThingDaoImpl.java

@@ -1,7 +1,7 @@
 package com.zhongshu.iot.server.core.dao.iot.impl;
 
-import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
 import com.github.microservice.busInfoModel.thing.IotThingSearch;
+import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
 import com.zhongshu.iot.server.core.dao.base.BaseImpl;
 import com.zhongshu.iot.server.core.dao.iot.extend.IotThingDaoExtend;
 import com.zhongshu.iot.server.core.domain.iot.IotThing;
@@ -58,6 +58,16 @@ public class IotThingDaoImpl extends BaseImpl implements IotThingDaoExtend {
             criteria.and("iotTemplateId").is(param.getIotTemplateId());
         }
 
+        // 状态
+        if (param.getState() != null) {
+            criteria.and("state").is(param.getState());
+        }
+
+        // 所属产品
+        if (StringUtils.isNotEmpty(param.getProductCode())) {
+            criteria.and("productCode").is(param.getProductCode());
+        }
+
         if (!CommonUtil.longIsEmpty(param.getStartUpdateTime()) && !CommonUtil.longIsEmpty(param.getEndUpdateTime())) {
             criteria.and("updateTime").gte(param.getStartUpdateTime()).lt(param.getEndUpdateTime());
         } else if (!CommonUtil.longIsEmpty(param.getStartUpdateTime()) && CommonUtil.longIsEmpty(param.getEndUpdateTime())) {
@@ -76,10 +86,6 @@ public class IotThingDaoImpl extends BaseImpl implements IotThingDaoExtend {
             Pattern pattern = Pattern.compile("^.*" + param.getCode() + ".*$");
             criterias.add(Criteria.where("code").is(pattern));
         }
-        if (StringUtils.isNotEmpty(param.getProductCode())) {
-            Pattern pattern = Pattern.compile("^.*" + param.getProductCode() + ".*$");
-            criterias.add(Criteria.where("productCode").is(pattern));
-        }
 
         if (!CollectionUtils.isEmpty(criterias)) {
             criteria.andOperator(criterias.toArray(new Criteria[]{}));

+ 1 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/domain/iot/IotTemplate.java

@@ -66,4 +66,5 @@ public class IotTemplate extends SuperEntity {
 
     @Schema(description = "设备数量")
     private Long deviceNumber = 0L;
+
 }

+ 4 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/domain/iot/IotThing.java

@@ -1,6 +1,7 @@
 package com.zhongshu.iot.server.core.domain.iot;
 
 import com.github.microservice.types.deviceUse.DeviceCategory;
+import com.github.microservice.types.deviceUse.DeviceState;
 import com.github.microservice.types.deviceUse.DeviceType;
 import com.github.microservice.types.deviceUse.ThingType;
 import com.zhongshu.iot.server.core.domain.base.SuperEntity;
@@ -25,6 +26,9 @@ import java.util.List;
 @AllArgsConstructor
 public class IotThing extends SuperEntity {
 
+    @Schema(description = "数据状态")
+    private DeviceState state = DeviceState.Enable;
+
     @Schema(description = "物模型类型:自动、手动创建")
     private ThingType thingType;
 

+ 19 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/iot/IotThingService.java

@@ -198,6 +198,22 @@ public class IotThingService extends SuperService {
         return ResultContent.buildSuccess(PageEntityUtil.toPageModel(page, this::toModel));
     }
 
+    public ResultContent updateThingByDevice(DeviceInfo deviceInfo) {
+        if (deviceInfo == null) {
+            return ResultContent.buildFail("设备信息不存在");
+        }
+        IotThing iotThing = iotThingDao.findTopByDeviceIdAndThingType(deviceInfo.getDeviceId(), ThingType.Auto);
+        if (ObjectUtils.isNotEmpty(iotThing)) {
+            if (iotThing.getIsDelete() != null && iotThing.getIsDelete()) {
+                deleteIotThing(iotThing.getId());
+            } else {
+                iotThing.setState(deviceInfo.getState());
+                iotThingDao.save(iotThing);
+            }
+        }
+        return ResultContent.buildSuccess();
+    }
+
     /**
      * 删除物模型
      *
@@ -215,10 +231,13 @@ public class IotThingService extends SuperService {
         }
         // 删除物模型和设备的绑定
         iotThing2DeviceService.deleteByThingId(entity.getId());
+
         // 删除物模型的 属性分组
         iotTemplateManagerService.deleteIotTemplateByThingId(entity.getId());
+
         // 删除物模型的属性、方法、服务等信息
         iotTemplateManagerService.deleteIotMainByThingId(entity.getId());
+
         // 删除自己
         iotThingDao.delete(entity);