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)  &lt;= #{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)  &lt;= #{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)  &lt;= #{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