feiyu02
2025-07-23 344d9006faa27ea65e3eaf5e8f9173aad2266038
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.flightfeather.uav.lightshare.service
 
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
import com.flightfeather.uav.domain.entity.GridGroup
import com.flightfeather.uav.lightshare.bean.AreaVo
import com.flightfeather.uav.lightshare.bean.DataHead
import com.flightfeather.uav.lightshare.bean.GridDataImportResult
import org.springframework.web.multipart.MultipartFile
import java.time.LocalDateTime
import javax.servlet.http.HttpServletResponse
 
/**
 * 卫星遥测相关service服务接口
 * @date 2024/12/5
 * @author feiyu02
 */
interface SatelliteTelemetryService {
 
    fun fetchGridGroup(areaVo: AreaVo, type: String?, page: Int?, perPage: Int?): Pair<DataHead, List<GridGroup?>>
 
    fun deleteGridGroup(groupId: Int)
 
    fun fetchGridCell(groupId: Int): List<GridCell?>
 
    fun fetchGridData(groupId: Int, dataTime: LocalDateTime?, type: Int?): List<GridData?>
 
    fun fetchGridData(gridData: GridData): List<GridData?>
 
    fun deleteGridData(dataId: Int): Boolean
 
    fun fetchGridDataDetail(dataId: Int, groupId: Int?, cellId: Int?): List<GridDataDetail?>
 
    fun createGridDataAndDataDetail(
        groupId: Int, dataTime: LocalDateTime?, gridDataDetail: List<GridDataDetail>): Boolean
 
    /**
     * 数据融合
     */
    // Fixme 2025.3.28: 需要和[SatelliteDataCalculateService.mixUnderwayGridData]函数合并
    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
 
    @Throws(BizException::class)
    fun importGridAOD(groupId: Int, dataTime: LocalDateTime?, update: Boolean, file: MultipartFile): GridDataImportResult?
 
    fun downloadAODTemplate(response: HttpServletResponse): Boolean
 
 
    /**AOD数据相关**************************************************************/
    fun fetchGridAod(groupId: Int, dataTime: LocalDateTime?): List<GridAod?>
 
    fun fetchGridAODDetail(aodId: Int, groupId: Int?, cellId: Int?): List<GridAodDetail?>
}