feiyu02
2025-03-07 db447bb757b51f8d03e62d6ae4f183b4608723ef
src/main/kotlin/com/flightfeather/uav/lightshare/service/SatelliteTelemetryService.kt
@@ -2,6 +2,7 @@
import com.flightfeather.uav.common.exception.BizException
import com.flightfeather.uav.domain.entity.GridAod
import com.flightfeather.uav.domain.entity.GridAodDetail
import com.flightfeather.uav.domain.entity.GridCell
import com.flightfeather.uav.domain.entity.GridData
import com.flightfeather.uav.domain.entity.GridDataDetail
@@ -14,13 +15,15 @@
import javax.servlet.http.HttpServletResponse
/**
 *
 * 卫星遥测相关service服务接口
 * @date 2024/12/5
 * @author feiyu02
 */
interface SatelliteTelemetryService {
    fun fetchGridGroup(areaVo: AreaVo, page: Int?, perPage: Int?): Pair<DataHead, List<GridGroup?>>
    fun fetchGridGroup(areaVo: AreaVo, type: String?, page: Int?, perPage: Int?): Pair<DataHead, List<GridGroup?>>
    fun deleteGridGroup(groupId: Int)
    fun fetchGridCell(groupId: Int): List<GridCell?>
@@ -28,15 +31,36 @@
    fun fetchGridDataDetail(dataId: Int, groupId: Int?, cellId: Int?): List<GridDataDetail?>
    fun createGridDataAndDataDetail(
        groupId: Int,
        dataTime: LocalDateTime?,
        gridDataDetail: List<GridDataDetail>,
    ): Boolean
    /**
     * 数据融合
     */
    fun mixGridData(dataIdList: List<Int>): List<GridData?>
    @Throws(BizException::class)
    fun importGridData(groupId: Int, dataTime: LocalDateTime?, update: Boolean, file: MultipartFile): GridDataImportResult?
    fun downloadTemplate(response: HttpServletResponse): Boolean
    fun fetchGridAod(groupId: Int, dataTime: LocalDateTime?): List<GridAod?>
    @Throws(BizException::class)
    fun importGridAOD(groupId: Int, dataTime: LocalDateTime?, update: Boolean, file: MultipartFile): GridDataImportResult?
    fun downloadAODTemplate(response: HttpServletResponse): Boolean
    /**
     * 根据卫星遥测网格的中心坐标点,计算网格4个顶点坐标
     * @param groupId 网格组索引id
     */
    fun calGridVertex(groupId: Int): List<GridCell?>
    /**AOD数据相关**************************************************************/
    fun fetchGridAod(groupId: Int, dataTime: LocalDateTime?): List<GridAod?>
    fun fetchGridAODDetail(aodId: Int, groupId: Int?, cellId: Int?): List<GridAodDetail?>
}