From 5ef407e617576a83c9b8c25ce510f263ed031d03 Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Wed, 03 Jul 2024 15:02:17 +0800
Subject: [PATCH] fix:走航车排名接口提交

---
 screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java            |   81 ++++----------------------
 screen-api/src/main/java/com/moral/api/service/DustldService.java                     |    5 +
 screen-api/src/main/java/com/moral/api/service/SecondCruiserSortService.java          |    7 ++
 screen-api/src/main/java/com/moral/api/controller/CruiserController.java              |    3 
 screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java            |    7 ++
 screen-api/src/main/java/com/moral/api/service/impl/SecondCruiserSortServiceImpl.java |   19 ++++++
 screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java                  |   45 +++++++++++++++
 7 files changed, 96 insertions(+), 71 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java
index fbab51d..0a5a138 100644
--- a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java
@@ -8,6 +8,7 @@
 import com.deepoove.poi.data.RowRenderData;
 import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
 import com.moral.api.entity.Dustld;
+import com.moral.api.entity.SecondCruiserSort;
 import com.moral.api.exception.BusinessException;
 import com.moral.api.pojo.bo.ExcelBO;
 import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO;
@@ -297,7 +298,7 @@
                                         @RequestParam @ApiParam(value = "startTime",name = "������������") String startTime,
                                         @RequestParam @ApiParam(value = "endTime",name = "������������") String endTime){
 
-        List<DustForm> sort = dustldService.sort(mac, startTime, endTime);
+        List<SecondCruiserSort> sort = dustldService.sort(mac, startTime, endTime);
         return ResultMessage.ok(sort);
     }
 
diff --git a/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java b/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java
new file mode 100644
index 0000000..25a46ac
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/entity/SecondCruiserSort.java
@@ -0,0 +1,45 @@
+package com.moral.api.entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.moral.util.DateUtils;
+
+/**
+ * Description //todo
+ *
+ * @author swb
+ * @ClassName SecondCruiserSort
+ * @date 2024.06.25 15:29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SecondCruiserSort extends Model<SecondCruiserSort> {
+
+    /**
+     * ������������
+     */
+    private  String  road;
+
+    /**
+     * ������
+     */
+    private  Double  value;
+
+    /**
+     * mac���
+     */
+    private String  mac;
+    /**
+     * ������Id
+     */
+    private Integer  organizationId;
+
+    /**
+     * ������
+     */
+    private String  time;
+
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java b/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java
new file mode 100644
index 0000000..c6b31cd
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/mapper/SecondCruiserSortMapper.java
@@ -0,0 +1,7 @@
+package com.moral.api.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.entity.SecondCruiserSort;
+
+public interface SecondCruiserSortMapper extends BaseMapper<SecondCruiserSort> {
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/DustldService.java b/screen-api/src/main/java/com/moral/api/service/DustldService.java
index f3b23c7..cbb90cb 100644
--- a/screen-api/src/main/java/com/moral/api/service/DustldService.java
+++ b/screen-api/src/main/java/com/moral/api/service/DustldService.java
@@ -7,7 +7,8 @@
 import java.util.Map;
 
 import com.moral.api.entity.Dustld;
-import com.moral.api.pojo.dust.DustForm;
+import com.moral.api.entity.SecondCruiserSort;
+
 
 public interface DustldService {
 
@@ -28,6 +29,6 @@
     List<Dustld>  selectAll(Map<String, Object> params);
 
     //������������
-    List<DustForm> sort(String mac,String startTime,String endTime);
+    List<SecondCruiserSort> sort(String mac, String startTime, String endTime);
 
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/SecondCruiserSortService.java b/screen-api/src/main/java/com/moral/api/service/SecondCruiserSortService.java
new file mode 100644
index 0000000..d1cb112
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/SecondCruiserSortService.java
@@ -0,0 +1,7 @@
+package com.moral.api.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.SecondCruiserSort;
+
+public interface SecondCruiserSortService extends IService<SecondCruiserSort> {
+}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
index 0d5d1c2..ad3020c 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java
@@ -1,7 +1,9 @@
 package com.moral.api.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.moral.api.config.Interceptor.UserHelper;
+import com.moral.api.entity.SecondCruiserSort;
 import com.moral.api.entity.SysDictData;
 import com.moral.api.exception.BusinessException;
 import com.moral.api.mapper.*;
@@ -51,6 +53,9 @@
 
     @Autowired
     private DustldMapper dustldMapper;
+
+    @Autowired
+    private SecondCruiserSortMapper secondCruiserSortMapper;
 
     /**
      * ������������������
@@ -467,74 +472,14 @@
      * @return
      */
     @Override
-    public List<DustForm> sort(String mac, String startTime, String endTime) {
-        SysDictData list = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld");
-        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
-        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
-        Integer orgId = (Integer) orgInfo.get("id");
-
-        List<Integer> orgList = organizationMapper.orgIdSpecialDevList(orgId,mac);
-        if(CollectionUtils.isEmpty(orgList)){
-            throw new BusinessException("������������������������������������");
-        }
-
-        HashMap<String, Object> params = new HashMap<>();
-        params.put("mac",mac);
-        params.put("startTime",startTime);
-        params.put("endTime",endTime);
-        List<Map<String, Object>> dusts = historySecondCruiserMapper.getDusts(params);
-        Map<String, List<DustldDTO>> collect = manageCoordinateMapper.CompareTo(orgList.get(0)).stream().collect(Collectors.groupingBy(o -> o.getName()));
-        if (ObjectUtils.isEmpty(dusts) || ObjectUtils.isEmpty(collect)){
-            return null;
-        }
-        Set<String> strings = collect.keySet();
-        ArrayList<DustForm> list1 = new ArrayList<>();
-        for (String string : strings) {
-            DustForm dustForm = new DustForm();
-            ArrayList<Double> doubleArrayList = new ArrayList<>();
-            List<DustldDTO> dustldDTOS = collect.get(string);
-            for (DustldDTO dustldDTO : dustldDTOS) {
-                String flyLat = dustldDTO.getFlyLat();
-                String flyLon = dustldDTO.getFlyLon();
-                if (flyLon==null && flyLat==null){
-                    continue;
-                }
-                double latDouble1 = Double.parseDouble(flyLat);
-                double lonDouble1 = Double.parseDouble(flyLon);
-                for (Map<String, Object> dust : dusts) {
-                    String flyLat1 = Objects.nonNull(dust.get("flyLat")) ? dust.get("flyLat").toString() :"0";
-                    String flyLon1 = Objects.nonNull(dust.get("flyLon")) ? dust.get("flyLon").toString() :"0";
-                    double latDouble = Double.parseDouble(flyLat1);
-                    double lonDouble = Double.parseDouble(flyLon1);
-//                    String flyLon1 = dust.get("flyLon").toString();
-                    if (latDouble1==latDouble && lonDouble1==lonDouble){
-                        Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d;
-                        if(list.getDataValue().contains(",")){
-                            List<String> resultStr = Arrays.asList(list.getDataValue().split(","));
-                            if(resultStr.size() % 2 ==0){
-                                dustld = numAvg(resultStr,BigDecimal.valueOf(dustld)).doubleValue();
-                            }
-                        }else {
-                            BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO;
-                            dustld = BigDecimal.valueOf(dustld).add(dataValue).doubleValue();
-                        }
-                        doubleArrayList.add(dustld);
-                        break;
-                    }
-                }
-            }
-            if (ObjectUtils.isEmpty(doubleArrayList)){
-                continue;
-            }
-            Double ListAva = doubleArrayList.stream() .collect(Collectors.averagingDouble(Double::doubleValue));
-            double rsAvg = new BigDecimal(ListAva/1000).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
-            dustForm.setRoad(string);
-            dustForm.setValue(rsAvg);
-            list1.add(dustForm);
-        }
-        //������
-        list1.sort(Comparator.comparing(DustForm::getValue).reversed());
-        return list1;
+    public List<SecondCruiserSort> sort(String mac, String startTime, String endTime) {
+        String s = DateUtils.stringToDateString(startTime, "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd");
+        LambdaQueryWrapper<SecondCruiserSort> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SecondCruiserSort::getMac,mac);
+        wrapper.eq(SecondCruiserSort::getTime,s);
+        wrapper.orderByDesc(SecondCruiserSort::getValue);
+        List<SecondCruiserSort> secondCruiserSorts = secondCruiserSortMapper.selectList(wrapper);
+        return secondCruiserSorts;
     }
 
 
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SecondCruiserSortServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SecondCruiserSortServiceImpl.java
new file mode 100644
index 0000000..1f2ee4f
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SecondCruiserSortServiceImpl.java
@@ -0,0 +1,19 @@
+package com.moral.api.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.entity.SecondCruiserSort;
+import com.moral.api.mapper.SecondCruiserSortMapper;
+import com.moral.api.service.SecondCruiserSortService;
+
+/**
+ * Description //todo
+ *
+ * @author swb
+ * @ClassName SecondCruiserSortServiceImpl
+ * @date 2024.06.28 09:14
+ */
+@Service
+public class SecondCruiserSortServiceImpl extends ServiceImpl<SecondCruiserSortMapper, SecondCruiserSort> implements SecondCruiserSortService {
+}

--
Gitblit v1.8.0