林火综合应急信息管理系统后端
guoshilong
2023-03-09 a084945f219ace036070bce83487e747c411b876
军地协同:周边查询接口
6 files modified
4 files added
125 ■■■■■ changed files
src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
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 = "易发区统计")
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);
    }
}
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);
}
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.java
New file
@@ -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);
}
src/main/java/org/springblade/modules/dp/mapper/MilitaryLocalCoordinationMapper.xml
New file
@@ -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>
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;
src/main/java/org/springblade/modules/dp/service/IMilitaryLocalCoordinationService.java
New file
@@ -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);
}
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 {
src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
@@ -9,4 +9,5 @@
public class FireWarningServiceImpl implements IFireWarningService {
    @Autowired
    private FireWarningMapper fireWarningMapper;
}
src/main/java/org/springblade/modules/dp/service/impl/MilitaryLocalCoordinationServiceImpl.java
New file
@@ -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;
    }
}