feiyu02
2025-09-30 94fee0b511279679b43e210878d3d36e5a14384b
src/test/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceControllerTest.kt
@@ -14,6 +14,8 @@
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.junit4.SpringRunner
import tk.mybatis.mapper.entity.Example
import java.time.LocalDateTime
import java.time.ZoneId
@RunWith(SpringRunner::class)
@SpringBootTest
@@ -29,15 +31,25 @@
    lateinit var missionMapper: MissionMapper
    @Autowired
    lateinit var missionRep: MissionRep
    @Autowired
    lateinit var realTimeDataService: RealTimeDataService
    @Test
    fun autoSourceTrace() {
        val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep)
        val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep, true)
//        val mCode = listOf(
//            "SH-CN-20241227", "SH-CN-20241127", "SH-CN-20240906", "SH-CN-20240830(05)",
//            "SH-CN-20240830(04)", "SH-CN-20240823",
//            "SH-CN-20240723(02)",
////            "SH-CN-20250723(01)"
//        )
//        val startTime = LocalDateTime.of(2024, 12, 31, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
        val startTime = LocalDateTime.of(2024, 12, 4, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
        val endTime = LocalDateTime.of(2025, 4, 11, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()
        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
            createCriteria().andEqualTo("deviceType", "0a")
                .andLessThanOrEqualTo("startTime", "2024-11-07 15:00:00")
            orderBy("startTime").desc()
            createCriteria().andBetween("startTime", startTime, endTime)
        })
        missions.forEach { m ->
            val rtData = realTimeDataService.getSecondData(
@@ -56,11 +68,33 @@
            }
            sourceTraceController.initTask()
        }
//        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
//            createCriteria().andEqualTo("deviceType", "0a")
//                .andLessThanOrEqualTo("startTime", "2024-11-07 15:00:00")
//            orderBy("startTime").desc()
//        })
//        missions.forEach { m ->
//            val rtData = realTimeDataService.getSecondData(
//                m?.deviceType,
//                m?.deviceCode,
//                DateUtil.instance.dateToString(m?.startTime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS),
//                DateUtil.instance.dateToString(m?.endTime, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS),
//                null,
//                1,
//                10000
//            )
//            rtData.data?.forEach { d ->
//                val rtdVehicle = d.toBaseRealTimeData(RealTimeDataVehicle::class.java)
////            Thread.sleep(500)
//                sourceTraceController.addOneData(rtdVehicle)
//            }
//            sourceTraceController.initTask()
//        }
//        val rtData = realTimeDataService.getSecondData(
//            "0a",
//            "0a0000000001",
//            "2025-01-06 13:32:00",
//            "2025-01-06 15:52:36",
//            "2024-08-23 12:30:23",
//            "2024-08-23 15:12:56",
//            null,
//            1,
//            10000
@@ -73,4 +107,23 @@
    }
    @Test
    fun deleteSourceTrace() {
//        val mCode = listOf(
//            "SH-CN-20241227", "SH-CN-20241127", "SH-CN-20240906", "SH-CN-20240830(05)",
//            "SH-CN-20240830(04)", "SH-CN-20240823",
//            "SH-CN-20240723(02)",
////            "SH-CN-20250723(01)"
//        )
        val startTime = LocalDateTime.of(2024, 12, 4, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
        val endTime = LocalDateTime.of(2025, 4, 11, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()
        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
            createCriteria().andBetween("startTime", startTime, endTime)
        })
        missions.forEach { m ->
            m ?: return@forEach
            sourceTraceRep.delete(m)
        }
    }
}