Browse Source

运营服务

hym 4 years ago
parent
commit
0f84d9e1a2

+ 2 - 2
smartcity-common/src/main/java/com/zcxk/common/model/ResultStatus.java

@@ -100,8 +100,8 @@ public enum ResultStatus {
 
     SYSTEM_ERROR(999999, "系统错误"),
     //600
-    SCENCE_NAME_ALREADY_EXISTS(600001,"该场景名称已存在"),
-    POINT_NAME_ALREADY_EXISTS(600002,"该监控点名称已存在"),
+    SCENCE_NAME_ALREADY_EXISTS(600001,"您输入的监控场景已存在,请重新输入"),
+    POINT_NAME_ALREADY_EXISTS(600002,",您输入的监控点该场景下已存在,请重新输入"),
     ;
 
     private final int status;

+ 1 - 2
smartcity-facilities/src/main/java/com/zcxk/facilities/dao/MonitorPointMapper.java

@@ -4,7 +4,6 @@ import com.zcxk.facilities.dto.MonitorPointTreeDTO;
 import com.zcxk.facilities.entity.MonitorPoint;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.security.access.method.P;
 
 import java.util.List;
 
@@ -83,5 +82,5 @@ public interface MonitorPointMapper {
 
     List<MonitorPointTreeDTO> selectTree(@Param("siteId") Integer siteId);
 
-    MonitorPoint queryByName(@Param("monitorPointName") String monitorPointName);
+    MonitorPoint queryByName(@Param("monitorPointName") String monitorPointName,@Param("monitorSceneId") Integer monitorSceneId);
 }

+ 1 - 0
smartcity-facilities/src/main/java/com/zcxk/facilities/dto/CameraTreeDTO.java

@@ -10,5 +10,6 @@ public class CameraTreeDTO {
     private String name;
     private Integer size;
     private String parentName;
+    private String uniqName;
     private List<CameraTreeDTO>child;
 }

+ 60 - 5
smartcity-facilities/src/main/java/com/zcxk/facilities/service/impl/CameraServiceImpl.java

@@ -15,6 +15,7 @@ import com.zcxk.facilities.uitls.RedisUtil;
 import com.zcxk.common.utils.UserUtil;
 import com.zcxk.facilities.dao.CameraMapper;
 import com.zcxk.facilities.service.CameraService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.aggregation.ArrayOperators;
@@ -449,16 +450,70 @@ public class CameraServiceImpl implements CameraService {
         platforms.add(platform);
         return platforms;
     }
-    private List<CameraTreeDTO> getTree2(){
+    @Override
+    public List<CameraTreeDTO> getTree(){
         Camera camera=new Camera();
         camera.setSiteId(UserUtil.getCurrentUser().getSiteId());
         List<CameraTreeDTO>treeDTOS=new ArrayList<>();
         List<Camera> cameras = cameraMapper.selectList(camera);
-
-        return treeDTOS;
+        Iterator<Map.Entry<String, List<Camera>>> sceneIterator = cameras.stream()
+                .collect(Collectors.groupingBy(d -> d.getMonitorSceneName())).entrySet().iterator();
+        Iterator<Map.Entry<String, List<Camera>>> pointIterator = cameras.stream()
+                .collect(Collectors.groupingBy(d -> d.getMonitorSceneName() + "_" + d.getMonitorPointName()))
+                .entrySet().iterator();
+        while (sceneIterator.hasNext()){
+            CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
+            Map.Entry<String, List<Camera>> next = sceneIterator.next();
+            String key=next.getKey();
+            cameraTreeDTO.setName(key);
+            cameraTreeDTO.setUniqName(key);
+            cameraTreeDTO.setParentName("first");
+            cameraTreeDTO.setId(next.getValue().get(0).getMonitorSceneId());
+            treeDTOS.add(cameraTreeDTO);
+        }
+        while (pointIterator.hasNext()){
+            CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
+            Map.Entry<String, List<Camera>> next = pointIterator.next();
+            String key=next.getKey();
+            String[] names = key.split("_");
+            cameraTreeDTO.setName(names[1]);
+            cameraTreeDTO.setParentName(names[0]);
+            cameraTreeDTO.setUniqName(key);
+
+            cameraTreeDTO.setId(next.getValue().get(0).getMonitorPointId());
+            treeDTOS.add(cameraTreeDTO);
+        }
+        cameras.forEach(camera1 -> {
+            CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
+            cameraTreeDTO.setName(camera1.getChannelName());
+            cameraTreeDTO.setUniqName(camera1.getChannelName());
+            cameraTreeDTO.setParentName(camera1.getMonitorSceneName() + "_" + camera1.getMonitorPointName());
+            cameraTreeDTO.setId(camera1.getId());
+        });
+        return getCameraTree(treeDTOS,"first",1);
     }
-    @Override
-    public List<CameraTreeDTO> getTree() {
+    private  List<CameraTreeDTO> getCameraTree(List<CameraTreeDTO> list, String uniqName, Integer leve) {
+        List<CameraTreeDTO> temList = Lists.newArrayList();
+        if (list != null) {
+            for (CameraTreeDTO cameraTreeDTO : list) {
+                if ( !StringUtils.equals(uniqName,cameraTreeDTO.getParentName())) {
+                    List<CameraTreeDTO> chidren = getCameraTree(list, cameraTreeDTO.getUniqName(), ++leve);
+                    CameraTreeDTO tempTreeCameraTreeDTO = new CameraTreeDTO();
+                    BeanUtils.copyProperties(cameraTreeDTO, tempTreeCameraTreeDTO);
+                    tempTreeCameraTreeDTO.setChild(chidren);
+                    temList.add(tempTreeCameraTreeDTO);
+                    leve--;
+                }
+            }
+        }
+        if(temList.size() > 0){
+            return temList;
+        }else {
+            return null;
+        }
+    }
+
+    public List<CameraTreeDTO> getTree2() {
         MonitorScene monitorScene=new MonitorScene();
         Integer siteId = UserUtil.getCurrentUser().getSiteId();
         monitorScene.setSiteId(siteId);

+ 1 - 1
smartcity-facilities/src/main/java/com/zcxk/facilities/service/impl/MonitorPointServiceImpl.java

@@ -73,7 +73,7 @@ public class MonitorPointServiceImpl implements MonitorPointService {
         monitorPoint.setCreateBy(currentUser.getUsername());
         monitorPoint.setSiteId(currentUser.getSiteId());
         monitorPoint.setStatus(1);
-        MonitorPoint monitorPoint1 = monitorPointMapper.queryByName(monitorPoint.getMonitorPointName());
+        MonitorPoint monitorPoint1 = monitorPointMapper.queryByName(monitorPoint.getMonitorPointName(),monitorPoint.getMonitorSceneId());
         if(monitorPoint1!=null){
             return -1;
         }

+ 3 - 0
smartcity-facilities/src/main/resources/mapper/MonitorPointMapper.xml

@@ -185,6 +185,9 @@
             <if test="monitorPointName != null and monitorPointName != ''">
                 and monitor_point_name = #{monitorPointName}
             </if>
+            <if test="monitorSceneId != null">
+                and monitor_scene_id = #{monitorSceneId}
+            </if>
         </where>
     </select>
 </mapper>