From a084945f219ace036070bce83487e747c411b876 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 09 Mar 2023 16:18:24 +0800
Subject: [PATCH] 军地协同:周边查询接口
---
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java | 18 ++++++
src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java | 32 ++++++++++
src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java | 2
src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java | 1
src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java | 15 +++++
src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java | 5 +
src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java | 21 ++++++
src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java | 2
src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java | 1
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml | 28 +++++++++
10 files changed, 119 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java b/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java
index c4d9ca3..6c54d53 100644
--- a/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java
+++ b/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java
@@ -57,6 +57,8 @@
/**
* 实时火警事件
+ * @param time 时间
+ * @return
*/
@GetMapping("/realtimeFireAlarmIncident")
@ApiOperation(value = "实时火警事件", notes = "实时火警事件")
@@ -77,6 +79,9 @@
/**
* 易发区统计
+ * @param regionCode 区域编码 36 3601 360124,三种任意一种
+ * @param limit 限制前几
+ * @return
*/
@GetMapping("/proneAreasStatistics")
@ApiOperation(value = "易发区统计", notes = "易发区统计")
diff --git a/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java b/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java
index 27fb719..463befd 100644
--- a/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java
+++ b/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java
@@ -9,6 +9,7 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.modules.dp.service.IMilitaryLocalCoordinationService;
import org.springblade.modules.fire.service.IFireService;
import org.springblade.modules.fire.vo.FireVO;
import org.springblade.modules.fireSupplement.entity.FireSupplementEntity;
@@ -19,6 +20,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.HashMap;
import java.util.List;
/**
@@ -32,9 +34,10 @@
@RequestMapping("dp/militaryLocalCoordination")
@Api(value = "军地协同", tags = "军地协同接口")
public class MilitaryLocalCoordinationController extends BladeController {
- private IFireService fireService;
- private IFireSupplementService fireSupplementService;
+ private final IFireService fireService;
+ private final IFireSupplementService fireSupplementService;
private final IDeptService deptService;
+ private final IMilitaryLocalCoordinationService militaryLocalCoordinationService;
/**
* 火警事件
@@ -65,4 +68,18 @@
List<DeptDTO> deptDTO = deptService.getUserGroupByDept();
return R.data(deptDTO);
}
+
+ /**
+ * 周边查询
+ * @param lon 经度
+ * @param lat 纬度
+ * @param distance 查询范围
+ * @return
+ */
+ @GetMapping("/surroundingQuery")
+ @ApiOperation(value = "周边查询", notes = "周边查询")
+ public R getSurroundingQueryList(String lon,String lat,String distance) {
+ HashMap<String, List<HashMap<String, String>>> surroundingQueryList = militaryLocalCoordinationService.getSurroundingQueryList(lon,lat,distance);
+ return R.data(surroundingQueryList);
+ }
}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java
index 655af6d..839480d 100644
--- a/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java
+++ b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java
@@ -18,5 +18,5 @@
List<HashMap<String, String>> getFireReportingTrend();
- List getProneAreasStatistics(@Param("regionCode") String regionCode,@Param("limit") Integer limit);
+ List<HashMap<String, String>> getProneAreasStatistics(@Param("regionCode") String regionCode,@Param("limit") Integer limit);
}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java b/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java
new file mode 100644
index 0000000..e3f8f5b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java
@@ -0,0 +1,18 @@
+package org.springblade.modules.dp.mapper;
+
+import liquibase.pro.packaged.P;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.HashMap;
+import java.util.List;
+
+@Repository
+public interface MilitaryLocalCoordinationMapper {
+
+ List<HashMap<String, String>> gerSurroundingDeptList(@Param("lon") String lon, @Param("lat") String lat, @Param("distance") String distance);
+
+ List<HashMap<String, String>> gerSurroundingDeviceList(@Param("lon") String lon, @Param("lat") String lat, @Param("distance") String distance);
+
+ List<HashMap<String, String>> gerSurroundingVehicleList(@Param("lon") String lon, @Param("lat") String lat, @Param("distance") String distance);
+}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml b/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml
new file mode 100644
index 0000000..3168262
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.dp.mapper.MilitaryLocalCoordinationMapper">
+
+ <select id="gerSurroundingDeptList" resultType="java.util.HashMap">
+ SELECT id,dept_name,lon,lat,
+ round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
+ FROM `blade_dept`
+ WHERE is_deleted = 0
+ AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
+ </select>
+
+ <select id="gerSurroundingDeviceList" resultType="java.util.HashMap">
+ SELECT id,name,lon,lat,
+ round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
+ FROM sys_device
+ WHERE is_deleted = 0
+ AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
+ </select>
+
+ <select id="gerSurroundingVehicleList" resultType="java.util.HashMap">
+ SELECT id,license_plate,lon,lat,
+ round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
+ FROM sys_vehicle
+ WHERE is_deleted = 0
+ AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
+ </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java b/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java
index ca6a163..81d8e62 100644
--- a/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java
+++ b/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java
@@ -1,7 +1,5 @@
package org.springblade.modules.dp.service;
-import com.baomidou.mybatisplus.extension.service.IService;
-
import java.util.HashMap;
import java.util.List;
diff --git a/src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java b/src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java
new file mode 100644
index 0000000..55a4ec4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java
@@ -0,0 +1,15 @@
+package org.springblade.modules.dp.service;
+
+import java.util.HashMap;
+import java.util.List;
+
+public interface IMilitaryLocalCoordinationService {
+ /**
+ * 获取周边数据
+ * @param lon
+ * @param lat
+ * @param distance
+ * @return
+ */
+ HashMap<String, List<HashMap<String, String>>> getSurroundingQueryList(String lon,String lat,String distance);
+}
diff --git a/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java b/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java
index 0979a6e..e12eb1e 100644
--- a/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java
@@ -9,7 +9,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.function.Consumer;
@Service
public class ComprehensiveStatisticsServiceImpl implements IComprehensiveStatisticsService {
diff --git a/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java b/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
index 560900b..b4250ea 100644
--- a/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
+++ b/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
@@ -9,4 +9,5 @@
public class FireWarningServiceImpl implements IFireWarningService {
@Autowired
private FireWarningMapper fireWarningMapper;
+
}
diff --git a/src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java b/src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java
new file mode 100644
index 0000000..077e31f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java
@@ -0,0 +1,32 @@
+package org.springblade.modules.dp.service.impl;
+
+import org.springblade.modules.dp.mapper.MilitaryLocalCoordinationMapper;
+import org.springblade.modules.dp.service.IMilitaryLocalCoordinationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+@Service
+public class MilitaryLocalCoordinationServiceImpl implements IMilitaryLocalCoordinationService {
+ @Autowired
+ private MilitaryLocalCoordinationMapper militaryLocalCoordinationMapper;
+
+ @Override
+ public HashMap<String, List<HashMap<String, String>>> getSurroundingQueryList(String lon, String lat, String distance) {
+ HashMap<String,List<HashMap<String,String>>> query = new HashMap<>();
+
+ List<HashMap<String,String>> deptList = militaryLocalCoordinationMapper.gerSurroundingDeptList(lon,lat,distance);
+ query.put("dept",deptList);
+
+ List<HashMap<String,String>> deviceList = militaryLocalCoordinationMapper.gerSurroundingDeviceList(lon,lat,distance);
+ query.put("device",deviceList);
+
+ List<HashMap<String,String>> vehicleList = militaryLocalCoordinationMapper.gerSurroundingVehicleList(lon,lat,distance);
+ query.put("vehicle",vehicleList);
+
+ return query;
+ }
+}
--
Gitblit v1.9.3