From baa4cacbf4cc35ea3c7bf3cc5c5944af9eeb1880 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Mon, 18 Sep 2023 11:17:44 +0800 Subject: [PATCH] fix:测试无人机提交 --- screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java | 43 +++++++++++++++++++++ screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java | 2 + screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java | 15 ++----- screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java | 19 +++------ screen-api/src/main/java/com/moral/api/controller/UAVController.java | 12 +++-- 5 files changed, 63 insertions(+), 28 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/UAVController.java b/screen-api/src/main/java/com/moral/api/controller/UAVController.java index 2323049..8763106 100644 --- a/screen-api/src/main/java/com/moral/api/controller/UAVController.java +++ b/screen-api/src/main/java/com/moral/api/controller/UAVController.java @@ -26,14 +26,11 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.awt.geom.GeneralPath; import java.awt.geom.Point2D; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; @@ -135,5 +132,10 @@ return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo); } + @GetMapping("UAVTest") + public ResultMessage UAVTest(BigDecimal lat, BigDecimal lon, String batch){ + historySecondUavService.UAVTest(lat, lon, batch); + return new ResultMessage(); + } } diff --git a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java index 9c5a01c..7209030 100644 --- a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java +++ b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java @@ -5,6 +5,7 @@ import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO; import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -46,4 +47,5 @@ List<HistorySecondUav> queryDataByBatch(String batch); + boolean UAVTest(BigDecimal lat, BigDecimal lon, String batch); } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java index d3822e4..4e81d4e 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java @@ -25,14 +25,7 @@ import java.text.DecimalFormat; import java.time.Duration; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.OptionalDouble; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.DoubleStream; @@ -126,7 +119,7 @@ CityAqiMonthly cityAqiMonthly = cityAqiMonthlyMapper.selectOne(cityAqiMonthlyQueryWrapper); Double compositeIndex = null; String compositeIndexYearOnYear = null; - Integer pm25 = null; + Double pm25 = null; String pm25YearOnYear = null; if (cityAqiMonthly != null) { Map<String, Object> aqiMap = JSONObject.parseObject(cityAqiMonthly.getValue(), Map.class); @@ -145,7 +138,7 @@ //3.PM2.5������ if (aqiMap.get("PM2_5") != null) { - pm25 = Integer.parseInt(aqiMap.get("PM2_5").toString()); + pm25 = Objects.nonNull(aqiMap.get("PM2_5"))?Double.parseDouble(aqiMap.get("PM2_5").toString()):0d; } currentRankingResult.put("PM2_5", pm25 + "ug/m��"); @@ -183,7 +176,7 @@ Map<Integer, Map<String, Object>> monthlyCumulativeResult = null; Double cityCompositeIndex = null; String cityCompositeIndexYearOnYear = null; - Integer cityPM25 = null; + Double cityPM25 = null; String cityPM25YearOnYear = null; if (!"1".equals(month)) { Map<String, Object> cumulativeRankingResult = new HashMap<>(); @@ -201,7 +194,7 @@ cityCompositeIndexYearOnYear = cityMap.get("compositeIndex_yearOnYear").toString(); } //���������PM2.5 - cityPM25 = (int) Double.parseDouble(cityMap.get("PM2_5").toString()); + cityPM25 = Double.parseDouble(cityMap.get("PM2_5").toString()); if (cityMap.get("PM2_5_yearOnYear") != null) { cityPM25YearOnYear = cityMap.get("PM2_5_yearOnYear").toString(); } @@ -944,7 +937,7 @@ * @param pm25YearOnYear ���������������������������pm2.5������ * @description ��������������������������������������������������������������������������� */ - private Map<String, Object> getAreaCurrentMonthResult(Map<Integer, String> areasMap, List<CityAqiMonthly> areaData, Double compositeIndex, String compositeIndexYearOnYear, Integer pm25, String pm25YearOnYear) { + private Map<String, Object> getAreaCurrentMonthResult(Map<Integer, String> areasMap, List<CityAqiMonthly> areaData, Double compositeIndex, String compositeIndexYearOnYear, Double pm25, String pm25YearOnYear) { Map<String, Object> result = new HashMap<>(); result.put("compositeIndex", compositeIndex); result.put("compositeIndexYearOnYear", compositeIndexYearOnYear); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java index 10b8016..627b26a 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java @@ -1,6 +1,7 @@ package com.moral.api.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.*; import com.moral.api.mapper.HistorySecondUavMapper; @@ -349,4 +350,46 @@ } } + @Override + public boolean UAVTest(BigDecimal lat, BigDecimal lon, String batch) { + List<HistorySecondUav> list = new ArrayList<>(); + + QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>(); + wrapper.eq("batch", batch); + wrapper.select("value,mac,time,organization_id"); + wrapper.orderByAsc("time"); + List<HistorySecondUav> datas = historySecondUavMapper.selectList(wrapper); + Date time =DateUtils.addDays(datas.get(2).getTime(),0); + //String bat = "2023-08-08 14:42:20"; + for(HistorySecondUav g : datas){ + HistorySecondUav historySecondUav = new HistorySecondUav(); + historySecondUav.setTime(DateUtils.addDays(g.getTime(),0)); + historySecondUav.setMac(g.getMac()); + historySecondUav.setBatch(time); + historySecondUav.setOrganizationId(g.getOrganizationId()); + Map<String, Object> data = JSON.parseObject(g.getValue(), Map.class); + Map<String, Object> dataResult = new HashMap<>(); + dataResult = data; + dataResult.put("flylat",Objects.isNull(data.get("flylat"))||data.get("flylat").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylat").toString())+lat.doubleValue()))); + dataResult.put("flylon",Objects.isNull(data.get("flylon"))||data.get("flylon").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylon").toString())+lon.doubleValue()))); + /*if(Objects.nonNull(data.get("a21026"))&& !data.get("a21026").toString().equals("0")){ + Double a21026D = Double.parseDouble(data.get("a21026").toString()); + if( a21026D>15){ + a21026D = a21026D -10; + } + dataResult.put("a21026",Double.parseDouble(String.format("%.4f",a21026D))); + } + if(Objects.nonNull(data.get("a21004"))&& !data.get("a21004").toString().equals("0")){ + Double a21024D = Double.parseDouble(data.get("a21004").toString()); + if( a21024D>100){ + a21024D = a21024D -100; + } + dataResult.put("a21004",Double.parseDouble(String.format("%.4f",a21024D))); + }*/ + historySecondUav.setValue(JSONObject.toJSONString(dataResult)); + list.add(historySecondUav); + } + this.saveBatch(list); + return true; + } } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java index 2608c7b..18ae1e2 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/ProfessionServiceImpl.java @@ -6,14 +6,7 @@ import org.springframework.util.ObjectUtils; import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; import com.alibaba.fastjson.JSONObject; @@ -103,8 +96,10 @@ List<Map<String, Object>> devices = deviceService.getDevicesByOrganizationId(organizationId); Set<Map<String, Object>> result = new HashSet<>(); for (Map<String, Object> device : devices) { - List<Map<String, Object>> professions = (List<Map<String, Object>>) device.get("professions"); - result.addAll(professions); + if(Objects.nonNull(device)&&Objects.nonNull(device.get("professions"))&&device.containsKey("professions")){ + List<Map<String, Object>> professions = (List<Map<String, Object>>) device.get("professions"); + result.addAll(professions); + } } return result; } -- Gitblit v1.8.0