src/main/kotlin/com/flightfeather/uav/lightshare/service/RealTimeDataService.kt
@@ -1,9 +1,49 @@
package com.flightfeather.uav.lightshare.service
import com.flightfeather.uav.lightshare.bean.BaseResponse
import com.flightfeather.uav.lightshare.bean.DataImportResult
import com.flightfeather.uav.lightshare.bean.DataVo
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.xssf.streaming.SXSSFWorkbook
import org.springframework.web.multipart.MultipartFile
import javax.servlet.http.HttpServletResponse
interface RealTimeDataService {
    fun getSecondData(deviceCode: String?, startTime: String?, endTime: String?, page: Int?, perPage: Int?): BaseResponse<List<DataVo>>
    fun getSecondData(
        deviceType: String?, deviceCode: String?, startTime: String?, endTime: String?, type: Int?,
        page: Int?, perPage: Int?,
    ): BaseResponse<List<DataVo>>
    fun getNextData(deviceCode: String, updateTime: String, page: Int?, perPage: Int?): BaseResponse<List<DataVo>>
    fun getSegmentData(missionCode: String): List<List<DataVo>>
    fun importData(file: MultipartFile): BaseResponse<DataImportResult>
    fun importJinanData(code:String, file: MultipartFile): DataImportResult
    fun downloadTemplate(response: HttpServletResponse): Boolean
    fun outToWorkbook(deviceCode: String, startTime: String, endTime: String): SXSSFWorkbook
    fun outToExcel(deviceCode: String, startTime: String, endTime: String, response: HttpServletResponse): HttpServletResponse
    fun getOriginData(deviceCode: String?, startTime: String?, endTime: String?, page: Int?, perPage: Int?): BaseResponse<List<DataVo>>
    /**
     * 数据处理
     * 去除原始数据中的异常波动值
     */
    fun dataPreprocessing(): BaseResponse<String>
    /**
     * 均值计算,将秒级值换算为分钟均值
     */
    fun averageData(): BaseResponse<String>
    /**
     * 数据优化,在数据预处理基础上做进一步数据优化
     */
    fun dataCalibration(): BaseResponse<String>
}