Просмотр исходного кода

视频服务树形结构修改

gao.qiang 2 лет назад
Родитель
Сommit
e67f29482c

+ 8 - 1
business-service/src/main/java/com/ozs/service/entity/CameraTree.java

@@ -12,11 +12,18 @@ import java.util.List;
  */
 @Data
 @Builder
-public class CameraTree implements Serializable {
+public class CameraTree implements Serializable,Comparable<CameraTree> {
 
     private static final long serialVersionUID = 1L;
     String code;
     String name;
     boolean flay;
+    Integer mileage;
     List<CameraTree> children;
+
+    @Override
+    public int compareTo(CameraTree o) {
+        int i =o.getName().compareTo(o.name);
+        return i;
+    }
 }

+ 1 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -65,6 +65,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                         .code(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
                         .name(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
                         .flay(true)
+                        .mileage(o.getInstallMile())
                         .children(new ArrayList<>())
                         .build();
 

+ 37 - 8
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -12,6 +12,7 @@ import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.base.BaseException;
 import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.ChineseToPingyin;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.http.HttpUtils;
@@ -54,10 +55,14 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
+import java.text.Collator;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
+import java.util.Locale;
 import java.util.stream.Collectors;
 
 /**
@@ -420,15 +425,39 @@ public class BaseCameraManagementController extends BaseController {
     public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
         CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
         List<CameraTree> children = cameraTree.getChildren();
+        children.sort(new Comparator<CameraTree>() {
+            @Override
+            public int compare(CameraTree o1, CameraTree o2) {
+                String name1 = ChineseToPingyin.convertHanziToPinyin(o1.getName());
+                String substring1 = name1.substring(0, 1);
+                String name2 = ChineseToPingyin.convertHanziToPinyin(o2.getName());
+                String substring2 = name2.substring(0, 1);
+                return substring1.compareTo(substring2);
+            }
+        });
+
+
         for (CameraTree child : children) {
             List<CameraTree> children1 = child.getChildren();
+            children1.sort(new Comparator<CameraTree>() {
+                @Override
+                public int compare(CameraTree o1, CameraTree o2) {
+                  int i=  o1.getMileage() - o2.getMileage();
+                  if (i==0) {
+                      String[] split = o1.getName().split("-");
+                      return  "上行".equals(split[1])?-1:1;
+                  }else {
+                      return i;
+                  }
+                }
+            });
             for (CameraTree tree : children1) {
                 List<CameraTree> children2 = tree.getChildren();
-                  if (children2.size()<2) {
-                      String code = children2.get(0).getName();
-                      tree.setCode(code);
-                      children2.remove(0);
-                  }
+                if (children2.size() < 2) {
+                    String code = children2.get(0).getName();
+                    tree.setCode(code);
+                    children2.remove(0);
+                }
             }
         }
         return success(cameraTree);
@@ -485,7 +514,7 @@ public class BaseCameraManagementController extends BaseController {
             queryWrapper.orderByDesc(MsgAlarm::getCreateTime);
         }
         List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
-        if (msgAlarmList.size()>0) {
+        if (msgAlarmList.size() > 0) {
             MsgAlarm msgAlarm = msgAlarmList.get(0);
             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
             if (!ObjectUtils.isEmpty(cameraCode)) {
@@ -511,8 +540,8 @@ public class BaseCameraManagementController extends BaseController {
             msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
             msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
             return AjaxResult.success(msgAlarmResp);
-        }else {
-            return  error("该相机没有报警消息");
+        } else {
+            return error("该相机没有报警消息");
         }
     }
 }