package com.flightfeather.uav.lightshare.service.impl
|
|
import com.flightfeather.uav.common.utils.TimeUtil
|
import com.flightfeather.uav.domain.entity.GridData
|
import com.flightfeather.uav.domain.entity.GridDataDetail
|
import com.flightfeather.uav.domain.mapper.GridDataDetailMapper
|
import com.flightfeather.uav.domain.mapper.GridDataMapper
|
import com.flightfeather.uav.domain.mapper.MissionMapper
|
import com.flightfeather.uav.lightshare.eunm.SatelliteDataType
|
import com.flightfeather.uav.lightshare.service.SatelliteDataCalculateService
|
import org.junit.Test
|
import org.junit.runner.RunWith
|
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.boot.test.context.SpringBootTest
|
import org.springframework.test.context.junit4.SpringRunner
|
import tk.mybatis.mapper.entity.Example
|
|
|
@RunWith(SpringRunner::class)
|
@SpringBootTest
|
class SatelliteDataCalculateServiceImplTest {
|
|
@Autowired
|
lateinit var satelliteDataCalculateService: SatelliteDataCalculateService
|
|
@Autowired
|
lateinit var gridDataMapper: GridDataMapper
|
|
@Autowired
|
lateinit var gridDataDetailMapper: GridDataDetailMapper
|
|
@Autowired
|
lateinit var missionMapper: MissionMapper
|
|
/**
|
* 刷新每组数据的数据排名
|
*/
|
@Test
|
fun refreshDataRank() {
|
for (i in 64..69) {
|
val dataDetailList = gridDataDetailMapper.selectByExample(Example(GridDataDetail::class.java).apply {
|
createCriteria().andEqualTo("dataId", i)
|
orderBy("pm25").desc()
|
})
|
dataDetailList.forEachIndexed { index, d ->
|
d?.rank = index + 1
|
gridDataDetailMapper.updateByPrimaryKey(d)
|
}
|
println("finish --${i}")
|
}
|
}
|
|
@Test
|
fun splitGrid() {
|
val res = satelliteDataCalculateService.splitGrid(1, 4)
|
// println(res)
|
}
|
|
@Test
|
fun splitData() {
|
val groupIdList = listOf(2, 4)
|
val dataId = listOf(34, 29, 25, 18, 8)
|
|
groupIdList.forEach { g ->
|
dataId.forEach { d ->
|
satelliteDataCalculateService.splitData(g, d)
|
}
|
}
|
// val res = satelliteDataCalculateService.splitData(2, 25)
|
}
|
|
@Test
|
fun dataFusion() {
|
val missionList =
|
listOf(
|
// "SH-CN-20241216",
|
// "SH-CN-20241202",
|
// "SH-CN-20241127",
|
// "SH-CN-20241126-1",
|
// "SH-CN-20241126-2",
|
// "SH-CN-20241108",
|
// "SH-CN-20240823"
|
"SH-CN-20240723-01",
|
"SH-CN-20240723-02",
|
"SH-CN-20240830",
|
"SH-CN-20240906",
|
"SH-CN-20241204",
|
"SH-CN-20241210",
|
"SH-CN-20241213",
|
"SH-CN-20241218",
|
"SH-CN-20241220",
|
"SH-CN-20241224",
|
"SH-CN-20241226",
|
"SH-CN-20241227",
|
"SH-CN-20241231",
|
"SH-CN-20250106",
|
"SH-CN-20250108",
|
"SH-CN-20250113",
|
"SH-CN-20250116",
|
"SH-CN-20250120"
|
)
|
missionList.forEach { m ->
|
satelliteDataCalculateService.dataFusion(m, 3)
|
}
|
// val res = satelliteDataCalculateService.dataFusion("SH-CN-20241216", 3)
|
}
|
|
@Test
|
fun refreshDayTimePeriod() {
|
gridDataMapper.select(GridData().apply { type = SatelliteDataType.Monitor.value.toByte() }).forEach { gd ->
|
missionMapper.selectByPrimaryKey(gd?.missionCode)?.let { m ->
|
TimeUtil.getDayTimeTag(m.startTime, m.endTime)?.let { p ->
|
gd?.dayTimePeriod = p.first
|
gd?.dayTimePeriodStart = p.second
|
gd?.dayTimePeriodEnd = p.third
|
|
gridDataMapper.updateByPrimaryKey(gd)
|
}
|
}
|
}
|
}
|
}
|