From ea75e686ed771fa377f688d9eaf8027740265aa1 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 28 Aug 2023 15:58:18 +0800
Subject: [PATCH] chore:测试提交
---
screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java | 3 +
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java | 5 +
screen-manage/src/main/java/com/moral/api/controller/CruiserController.java | 21 ++++++
screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java | 2
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java | 77 +++++++++++++++++++++++++
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java | 2
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java | 8 +-
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java | 13 +---
8 files changed, 113 insertions(+), 18 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java b/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
index 651b23f..e4c58d0 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
@@ -71,10 +71,29 @@
}
Map<String, Object> cruiserInFo = historySecondCruiserService.getCruiserInFo(params);
- return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok() : ResultMessage.ok(cruiserInFo);
+ return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok(ResponseCodeEnum.DEVICE_IS_NULL.getMsg()) : ResultMessage.ok(cruiserInFo);
}
+
+ @GetMapping("getCruiserCompare")
+ @ApiOperation(value = "������������", notes = "������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
+ @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "time1", value = "���������2021-08-18", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "time2", value = "���������2021-08-18", required = true, paramType = "query", dataType = "String")
+ })
+ public ResultMessage getCruiserCompare(HttpServletRequest request){
+ Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
+ if (!params.containsKey("mac") || !params.containsKey("time1")|| !params.containsKey("time2")) {
+ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+ }
+ Map<String, Object> cruiserInFo = historySecondCruiserService.getCruiserCompare(params);
+
+ return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok(ResponseCodeEnum.DEVICE_IS_NULL.getMsg()) : ResultMessage.ok(cruiserInFo);
+ }
+
}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
index 2ce3d29..a546546 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.moral.api.entity.ManageCoordinate;
+import com.moral.api.mapper.ManageCoordinateMapper;
import com.moral.api.service.ManageCoordinateService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
@@ -30,6 +31,8 @@
@Autowired
private ManageCoordinateService manageCoordinateService;
+ @Autowired
+ private ManageCoordinateMapper manageCoordinateMapper;
@@ -76,10 +79,7 @@
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
}
- Integer integer = manageCoordinateService.deleteCoordinate(id);
- if (integer==1){
- return ResultMessage.ok("������������");
- }
+ manageCoordinateService.deleteCoordinate(id);
return ResultMessage.ok();
}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
index 972f489..dcd38d9 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
@@ -98,7 +98,7 @@
@ApiImplicitParam(name = "time2", value = "���������2021-08-18", required = true, paramType = "query", dataType = "String")
})
public ResultMessage selectAll(@RequestBody Map<String,Object> params){
- if (!params.containsKey("coordinateId") || !params.containsKey("time1")|| !params.containsKey("time2")) {
+ if (!params.containsKey("coordinateId") || !params.containsKey("time1")|| !params.containsKey("time2")|| !params.containsKey("mac")) {
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
}
Map<String,Object> rsMap = manageCoordinateDetailService.selectCoordinate(params);
diff --git a/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
index 00c00c1..fd16504 100644
--- a/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
@@ -26,4 +26,7 @@
//���������������������
Map<String,Object> getCruiserInFo(Map<String, Object> params);
+
+
+ Map<String,Object> getCruiserCompare(Map<String, Object> params);
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
index 859817b..7ce8b5f 100644
--- a/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
@@ -18,7 +18,7 @@
void updateCoordinate(ManageCoordinate manageCoordinate);
- Integer deleteCoordinate(Integer id);
+ void deleteCoordinate(Integer id);
List<ManageCoordinate> selectCoordinate();
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
index 36574a2..2b54d81 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
@@ -3,9 +3,11 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.HistorySecondCruiser;
+import com.moral.api.entity.ManageCoordinateDetail;
import com.moral.api.entity.Sensor;
import com.moral.api.entity.SpecialDevice;
import com.moral.api.mapper.HistorySecondCruiserMapper;
+import com.moral.api.mapper.ManageCoordinateDetailMapper;
import com.moral.api.mapper.SpecialDeviceMapper;
import com.moral.api.pojo.dto.cruiser.CruiserDTO;
import com.moral.api.service.DeviceService;
@@ -54,6 +56,8 @@
private SpecialDeviceService specialDeviceService;
@Autowired
private SpecialDeviceMapper specialDeviceMapper;
+ @Autowired
+ private ManageCoordinateDetailMapper manageCoordinateDetailMapper;
@Autowired
private RedisTemplate redisTemplate;
@@ -165,7 +169,80 @@
return map;
}
+ @Override
+ public Map<String, Object> getCruiserCompare(Map<String, Object> params) {
+ HashMap<String,Object> rsMap = new HashMap<>();
+ String mac = params.get("mac").toString();
+ String time1 = params.get("time1").toString();
+ ArrayList<ManageCoordinateDetail> rsList1 = new ArrayList<>();
+ params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
+ List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(null);
+ List<CruiserDTO> cruiserInfo = (List<CruiserDTO>) redisTemplate.opsForHash().get(RedisConstants.DATE_COORDINATE, mac + time1);
+ if (ObjectUtils.isEmpty(cruiserInfo)){
+ cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
+ cruiserInfo = cruiserInfo.stream().distinct().collect(Collectors.toList());
+ cruiserInfo.removeIf(o->{
+ if (ObjectUtils.isEmpty(o.getFlyLon()) || ObjectUtils.isEmpty(o.getFlyLat())) {
+ return true;
+ }
+ double lon = o.getFlyLon();
+ double lat = o.getFlyLat();
+ double[] doubles = RoadUtils.transformWGS84ToBD09(lon, lat);
+ Matcher matcher = Pattern.compile("\\d*\\.\\d{8}").matcher(""+doubles[0]);
+ matcher.find();
+ String s = matcher.group();
+ Matcher matcher1 = Pattern.compile("\\d*\\.\\d{8}").matcher(""+doubles[1]);
+ matcher1.find();
+ String s1 = matcher1.group();
+ o.setFlyLon(Double.parseDouble(s));
+ o.setFlyLat(Double.parseDouble(s1));
+ o.setData(lon+"_"+lat);
+// o.setFlyLon(doubles[0]);
+// o.setFlyLat(doubles[1]);
+ if (lon < 70 || lon > 150 || lat < 20 || lat > 60) {
+ return true;
+ }
+ return false;
+ });
+
+ redisTemplate.opsForHash().put(RedisConstants.DATE_COORDINATE,mac+time1,cruiserInfo);
+ //������������������
+ redisTemplate.opsForHash().getOperations().expire(RedisConstants.DATE_COORDINATE,6000, TimeUnit.SECONDS);
+
+ }
+// List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
+ log.info(""+cruiserInfo.size());
+ if (ObjectUtils.isEmpty(manageCoordinateDetails)){
+ rsMap.put("rsData",cruiserInfo);
+ rsMap.put("data",rsList1);
+ return rsMap;
+ }
+ for (int i=cruiserInfo.size()-1;i>0;i--) {
+ CruiserDTO cruiserDTO = cruiserInfo.get(i);
+ String data = cruiserDTO.getData();
+ String[] rs = data.split("_");
+ String flyLon = rs[0];
+ String flyLat = rs[1];
+ for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
+ String latitude = manageCoordinateDetail.getLatitude().toString();
+ String longitude = manageCoordinateDetail.getLongitude().toString();
+ if (latitude.equals(flyLat) && longitude.equals(flyLon)){
+ manageCoordinateDetail.setCode(data);
+ manageCoordinateDetail.setLongitude(cruiserDTO.getFlyLon());
+ manageCoordinateDetail.setLatitude(cruiserDTO.getFlyLat());
+ rsList1.add(manageCoordinateDetail);
+ cruiserInfo.remove(i);
+ break;
+ }
+ }
+
+ }
+ rsMap.put("rsData",cruiserInfo);
+ rsMap.put("data",rsList1);
+ rsMap.put("message","���"+cruiserInfo.size()+"������������������"+"���������"+(cruiserInfo.size()+rsList1.size())+"���");
+ return rsMap;
+ }
}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
index 8ce0e1f..5b9b086 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
@@ -75,11 +75,12 @@
List<Map<String, Object>> data = (List<Map<String, Object>>) params.get("data");
for (Map<String, Object> datum : data) {
- ManageCoordinateDetail manageCoordinateDetail = new ManageCoordinateDetail();
+
String code = datum.get("code").toString();
String state = datum.get("state").toString();
if (state.equals("2")){
+ ManageCoordinateDetail manageCoordinateDetail = new ManageCoordinateDetail();
String[] rs = code.split("_");
manageCoordinateDetail.setCoordinateId(coordinateId);
manageCoordinateDetail.setLongitude(Double.parseDouble(rs[0]));
@@ -102,7 +103,7 @@
return 2;
}
manageCoordinateDetailMapper.deleteById(Integer.parseInt(id1.toString()));
-// manageCoordinateDetailMapper.delete(wrapper);
+
}
}
return 200;
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
index 17c4ef3..b9f1f06 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
@@ -68,15 +68,10 @@
* @param id
*/
@Override
- public Integer deleteCoordinate(Integer id) {
- QueryWrapper<ManageCoordinateDetail> wrapper = new QueryWrapper<>();
- wrapper.eq("coordinate_id",id);
- Integer integer = manageCoordinateDetailMapper.selectCount(wrapper);
- if (integer>0){
- return 1;
- }
- manageCoordinateMapper.deleteById(id);
- return 200;
+ public void deleteCoordinate(Integer id) {
+ ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id);
+ manageCoordinate.setIsDel(1);
+ manageCoordinateMapper.updateById(manageCoordinate);
}
--
Gitblit v1.8.0