feiyu02
7 天以前 594de76ed51fd49fb79b912212bb0052a63e7671
src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt
@@ -12,6 +12,7 @@
import com.flightfeather.uav.domain.entity.Mission
import com.flightfeather.uav.domain.entity.SceneInfo
import com.flightfeather.uav.lightshare.bean.AreaVo
import com.flightfeather.uav.lightshare.bean.DataHead
import com.flightfeather.uav.lightshare.bean.GridDataDetailMixVo
import com.flightfeather.uav.lightshare.eunm.PollutionDegree
import com.flightfeather.uav.socket.eunm.FactorType
@@ -32,15 +33,17 @@
     * @param missionCode 走航任务编号,用于唯一标识特定的走航任务
     * @return 异常结果列表,每个元素包含异常类型、位置和详细信息
     */
    @Deprecated("该接口已废弃,使用/report/missionSummary/one接口")
    fun pollutionTrace(missionCode: String): List<ExceptionResult>
    /**
     * 获取历史污染溯源结果
     * 根据任务编号查询并返回历史污染溯源结果
     * @param missionCode 走航任务编号
     * @param minPer 最小污染百分比,用于筛选异常数据点(可选)
     * @return 历史污染溯源结果的字符串表示(具体格式需参考实现类)
     */
    fun fetchHistory(missionCode: String): String
    fun fetchHistory(missionCode: String, minPer: Double?, page: Int?, perPage: Int?): Pair<DataHead, String>
    /**
     * 生成走航任务汇总统计
@@ -50,9 +53,14 @@
     * @param areaVo 区域参数,包含经纬度范围等地理信息
     * @return 汇总统计对象,包含任务总数、异常率、平均数据等指标
     */
    fun generateMissionSummary(startTime: Date, endTime: Date, areaVo: AreaVo): MissionSummary.Summary
    fun generateMissionSummary(
        startTime: Date, endTime: Date, areaVo: AreaVo, removeOtherDistrict: Boolean = false,
        removeNoPollutedSource: Boolean = false, minPer: Double? = 0.5,
    ): MissionSummary.Summary
    fun generateMissionSummary(missionCode: String): MissionSummary.Summary
    fun generateMissionSummary(
        missionCode: String, minPer: Double? = 0.5,
    ): MissionSummary.Summary
    /**
     * 生成走航任务清单(按时间和区域筛选)
@@ -62,7 +70,10 @@
     * @param areaVo 区域参数
     * @return 走航任务信息列表,每个元素包含任务基本信息和统计数据
     */
    fun generateMissionList(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionInventory.MissionInfo>
    fun generateMissionList(
        startTime: Date, endTime: Date, areaVo: AreaVo, removeOtherDistrict: Boolean = false,
        removeNoPollutedSource: Boolean = false, minPer: Double? = 0.5,
    ): List<MissionInventory.MissionInfo>
    /**
     * 生成走航任务清单(直接处理任务线索)
@@ -85,7 +96,12 @@
     * @param areaVo 区域参数
     * @return 任务详情列表,每个元素包含任务完整信息、场景数据和统计结果
     */
    fun generateMissionDetail(startTime: Date, endTime: Date, areaVo: AreaVo,granularity: String?): List<MissionDetail>
    fun generateMissionDetail(
        startTime: Date, endTime: Date, areaVo: AreaVo, granularity: String?,
        removeOtherDistrict: Boolean = false,
        removeNoPollutedSource: Boolean = false,
        minPer: Double? = 0.5,
    ): List<MissionDetail>
    /**
     * 生成走航任务详情(按任务编号筛选)
@@ -94,7 +110,9 @@
     * @param granularity 数据颗粒度,可选值为SECOND, MINUTE, HOUR, 默认MINUTE
     * @return 任务详情对象,包含任务完整信息、场景数据和统计结果
     */
    fun generateMissionDetail(missionCode: String, granularity: String?): MissionDetail
    fun generateMissionDetail(
        missionCode: String, granularity: String?, minPer: Double? = 0.5,
    ): MissionDetail
    /**
     * 获取走航任务详情(直接处理任务数据)
@@ -110,14 +128,28 @@
        granularity: String,
    ): List<MissionDetail>
    fun generateClueByRiskArea(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionRiskArea.ClueByArea>
    fun generateClueByRiskArea(
        startTime: Date,
        endTime: Date,
        areaVo: AreaVo,
        removeOtherDistrict: Boolean = false,
        removeNoPollutedSource: Boolean = false,
        minPer: Double? = 0.5,
    ): List<MissionRiskArea.ClassifyClue>
    fun generateClueByRiskArea(missionCode: String): List<MissionRiskArea.ClueByArea>
    fun generateClueByRiskArea(missionCode: String, minPer: Double? = 0.5): List<MissionRiskArea.ClueByArea>
    fun generateClueByRiskArea(keyScenes: List<SceneInfo?>, pollutedClues: List<PollutedClue?>): List<MissionRiskArea.ClueByArea>
    fun generateGridFusion(factorTypes: List<FactorType>, startTime: Date, endTime: Date, areaVo: AreaVo):
            List<MissionGridFusion.GridFusionByAQI>
    fun generateGridFusion(
        factorTypes: List<FactorType>,
        startTime: Date,
        endTime: Date,
        areaVo: AreaVo,
        removeOtherDistrict: Boolean = false,
        removeNoPollutedSource: Boolean = false,
        minPer: Double? = 0.5,
    ): List<MissionGridFusion.GridFusionByAQI>
    fun generateGridFusion(
        factorTypes: List<FactorType>,