TRX 1 年間 前
コミット
5b5083874e

+ 2 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/dao/mqtt/DeviceInfoDao.java

@@ -35,4 +35,6 @@ public interface DeviceInfoDao extends DeviceInfoDaoExtend, org.springframework.
 
     List<DeviceInfo> findByDeviceCategoryInAndIsDelete(List<DeviceCategory> deviceCategorys, Boolean isDelete);
 
+    long countByProjectInfoCodeAndDeviceCategoryIn(String projectInfoCode, List<DeviceCategory> deviceCategorys);
+
 }

+ 12 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/device/ProjectInfoService.java

@@ -4,8 +4,10 @@ import com.github.microservice.busInfoModel.device.ProjectInfoModel;
 import com.github.microservice.busInfoModel.device.ProjectInfoSimpleModel;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.types.common.CommonState;
+import com.github.microservice.types.deviceUse.DeviceCategory;
 import com.zhongshu.iot.client.model.mqtt.ProjectInfoAddParam;
 import com.zhongshu.iot.client.model.mqtt.ProjectInfoSearchParam;
+import com.zhongshu.iot.server.core.dao.mqtt.DeviceInfoDao;
 import com.zhongshu.iot.server.core.dao.mqtt.ProjectInfoDao;
 import com.zhongshu.iot.server.core.domain.iot.device.ProjectInfo;
 import com.zhongshu.iot.server.core.service.base.SuperService;
@@ -34,6 +36,9 @@ public class ProjectInfoService extends SuperService {
     @Autowired
     ProjectInfoDao projectInfoDao;
 
+    @Autowired
+    private DeviceInfoDao deviceInfoDao;
+
     /**
      * 添加项目
      *
@@ -104,6 +109,13 @@ public class ProjectInfoService extends SuperService {
         if (ObjectUtils.isNotEmpty(entity)) {
             projectInfoModel = new ProjectInfoModel();
             BeanUtils.copyProperties(entity, projectInfoModel);
+
+            // 统计设备数量
+            long deviceNumber = deviceInfoDao.countByProjectInfoCodeAndDeviceCategoryIn(entity.getCode(),
+                    List.of(DeviceCategory.DE, DeviceCategory.DC));
+            long gateWayNumber = deviceInfoDao.countByProjectInfoCodeAndDeviceCategoryIn(entity.getCode(), List.of(DeviceCategory.GW));
+            projectInfoModel.setDeviceNumber(deviceNumber);
+            projectInfoModel.setGateWayNumber(gateWayNumber);
         }
         return projectInfoModel;
     }