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