‘liusuyi’
2023-09-27 86a4c7ca3512cbe8b8d5cf9479174bfceead10db
优化获取附近井接口
已修改3个文件
34 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java
@@ -5,6 +5,7 @@
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam;
import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
@@ -213,9 +214,10 @@
    }
    @PostMapping("/getNearbyWells")
    @ApiOperation("查询附近的所有井")
    public TableDataInfo getNearbyWells(Long deptId,Double[]position){
    @ApiOperationSupport(includeParameters = {"longitude","latitude","deptId","pageNum","pageSize"})
    public TableDataInfo getNearbyWells(ArdAlarmpointsWell ardAlarmpointsWell){
        startPage();
        List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(deptId,position,1000);
        List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(ardAlarmpointsWell,1000);
        return getDataTable(nearbyWellList);
    }
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java
@@ -122,5 +122,5 @@
     * 刘苏义
     * 2023/9/27 10:26:35
     */
    List<ArdAlarmpointsWell> getNearbyWellList(Long deptId,Double[] position,Integer range);
    List<ArdAlarmpointsWell> getNearbyWellList(ArdAlarmpointsWell ardAlarmpointsWell,Integer range);
}
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -296,20 +296,22 @@
    }
    @Override
    public List<ArdAlarmpointsWell> getNearbyWellList(Long deptId, Double[] position, Integer range) {
    public List<ArdAlarmpointsWell> getNearbyWellList(ArdAlarmpointsWell ardAlarmpointsWell, Integer range) {
        List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>();
        try {
            ArdAlarmpointsWell ardAlarmpointsWell = new ArdAlarmpointsWell();
            ardAlarmpointsWell.setDeptId(deptId);
            List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell);
            if (ardAlarmpointsWells.size() > 0) {
                for (ArdAlarmpointsWell well : ardAlarmpointsWells) {
                    Double longitude = well.getLongitude();
                    Double latitude = well.getLatitude();
                    if (longitude != null && latitude != null) {
                        double distance = GisUtil.getDistance(position, new Double[]{longitude, latitude});
                        if (distance <= range) {
                            nearbyWellList.add(well);
            Double longitudeCenter = ardAlarmpointsWell.getLongitude();
            Double latitudeCenter = ardAlarmpointsWell.getLatitude();
            if (longitudeCenter != null && latitudeCenter != null) {
                List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell);
                if (ardAlarmpointsWells.size() > 0) {
                    for (ArdAlarmpointsWell well : ardAlarmpointsWells) {
                        Double longitude = well.getLongitude();
                        Double latitude = well.getLatitude();
                        if (longitude != null && latitude != null) {
                            double distance = GisUtil.getDistance(new Double[]{longitudeCenter, latitudeCenter}, new Double[]{longitude, latitude});
                            if (distance <= range) {
                                nearbyWellList.add(well);
                            }
                        }
                    }
                }