吉安感知网项目-后端
linwei
2026-02-03 6a8762f95544819eeea4a4d5503232e1925ca04c
反无驾驶舱优化
3 files modified
97 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java 39 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java 22 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java 36 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/controller/CockpitController.java
@@ -2,15 +2,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
@@ -21,6 +21,8 @@
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@@ -105,4 +107,33 @@
    public R interferenceAndExpulsion(@Valid @RequestBody FwEffectEvalParam fwEffectEvalParam) {
         return R.status(cockpitService.interferenceAndExpulsion(fwEffectEvalParam));
    }
    /**
     * 区域划分表 列表
     */
    @GetMapping("/areaDivideList")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "列表-不带分页", notes = "传入filterSelected或sceneId或areaTypeKeys或isSetSceneManage或flyTime")
    public R<List<FwAreaDivideVO>> list(
        @ApiParam(value = "是否过滤已被选择的数据(1过滤 0不过滤)") @RequestParam(required = false) Integer filterSelected,
        @ApiParam(value = "场景id") @RequestParam(required = false) Long sceneId,
        @ApiParam(value = "区域类型key集合(逗号分隔)") @RequestParam(required = false) String areaTypeKeys,
        @ApiParam(value = "是否按场景管理过滤(1是 0或空否)") @RequestParam(required = false) Integer isSetSceneManage,
        @ApiParam(value = "时间筛选(yyyy-MM-dd HH:mm:ss)") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime flyTime) {
        List<FwAreaDivideVO> list = cockpitService.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeys, isSetSceneManage, flyTime);
        return R.data(list);
    }
    /**
     * 场景管理表 列表
     */
    @GetMapping("/defenseSceneManageList")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "列表", notes = "传入time")
    public R<List<FwDefenseSceneManageVO>> list(
        @ApiParam(value = "时间筛选(yyyy-MM-dd HH:mm:ss)") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date time) {
        Date filterTime = time == null ? new Date() : time;
        List<FwDefenseSceneManageVO> list = cockpitService.selectFwDefenseSceneManageList(filterTime);
        return R.data(list);
    }
}
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/ICockpitService.java
@@ -1,6 +1,8 @@
package org.sxkj.fw.cockpit.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
import org.sxkj.fw.detection.param.FwEffectEvalParam;
@@ -9,6 +11,8 @@
import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO;
import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
public interface ICockpitService {
@@ -54,4 +58,22 @@
     * @return
     */
    List<DeviceStatisticsVO> getDeviceOutStatistics(String effectiveRangeKmIsNotNull);
    /**
     *
     * @param filterSelected
     * @param sceneId
     * @param areaTypeKeys
     * @param isSetSceneManage
     * @param flyTime
     * @return
     */
    List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys, Integer isSetSceneManage, LocalDateTime flyTime);
    /**
     *
     * @param filterTime
     * @return
     */
    List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime);
}
drone-service/drone-fw/src/main/java/org/sxkj/fw/cockpit/service/impl/CockpitServiceImpl.java
@@ -5,6 +5,10 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.stereotype.Service;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.service.IFwAreaDivideService;
import org.sxkj.fw.area.service.IFwDefenseSceneManageService;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
import org.sxkj.fw.cockpit.service.ICockpitService;
import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO;
import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO;
@@ -25,6 +29,8 @@
import org.sxkj.system.entity.Region;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Optional;
@@ -39,6 +45,12 @@
    @Resource
    private IFwEffectEvalService fwEffectEvalService;
    @Resource
    private IFwAreaDivideService iFwAreaDivideService;
    @Resource
    private IFwDefenseSceneManageService iFwDefenseSceneManageService;
    @Override
@@ -131,4 +143,28 @@
        fwDeviceDTO.setRegionCode(HeaderUtils.formatAreaCode(byCode.getCode()));
        return fwDeviceService.getDeviceStatistics(fwDeviceDTO);
    }
    /**
     *
     * @param filterTime
     * @return
     */
    @Override
    public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(Date filterTime) {
        return iFwDefenseSceneManageService.selectFwDefenseSceneManageList(filterTime);
    }
    /**
     *
     * @param filterSelected
     * @param sceneId
     * @param areaTypeKeys
     * @param isSetSceneManage
     * @param flyTime
     * @return
     */
    @Override
    public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId, String areaTypeKeys, Integer isSetSceneManage, LocalDateTime flyTime) {
        return iFwAreaDivideService.selectFwAreaDivideList(filterSelected, sceneId, areaTypeKeys, isSetSceneManage, flyTime);
    }
}