feiyu02
2025-08-28 ddaa44400aa478058ffe9349d59904a130b7ce9c
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package com.flightfeather.uav.biz.sourcetrace
 
import com.flightfeather.uav.common.utils.DateUtil
import com.flightfeather.uav.domain.entity.Mission
import com.flightfeather.uav.domain.entity.RealTimeDataVehicle
import com.flightfeather.uav.domain.mapper.MissionMapper
import com.flightfeather.uav.domain.repository.MissionRep
import com.flightfeather.uav.domain.repository.SceneInfoRep
import com.flightfeather.uav.domain.repository.SourceTraceRep
import com.flightfeather.uav.lightshare.service.RealTimeDataService
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
import java.time.LocalDateTime
import java.time.ZoneId
 
@RunWith(SpringRunner::class)
@SpringBootTest
class SourceTraceControllerTest {
 
    @Autowired
    lateinit var sceneInfoRep: SceneInfoRep
 
    @Autowired
    lateinit var sourceTraceRep: SourceTraceRep
 
    @Autowired
    lateinit var missionMapper: MissionMapper
 
    @Autowired
    lateinit var missionRep: MissionRep
 
    @Autowired
    lateinit var realTimeDataService: RealTimeDataService
 
    @Test
    fun autoSourceTrace() {
        val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep, false)
//        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(2025, 7, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
        val endTime = LocalDateTime.of(2025, 9, 30, 23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()
        val missions = missionMapper.selectByExample(Example(Mission::class.java).apply {
            createCriteria().andBetween("startTime", startTime, endTime)
        })
        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 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",
//            "2024-08-23 12:30:23",
//            "2024-08-23 15:12:56",
//            null,
//            1,
//            10000
//        )
//        rtData.data?.forEach { d ->
//            val rtdVehicle = d.toBaseRealTimeData(RealTimeDataVehicle::class.java)
////            Thread.sleep(500)
//            sourceTraceController.addOneData(rtdVehicle)
//        }
 
    }
 
    @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)"
        )
        mCode.forEach { c ->
            missionRep.findOne(c)?.let {
                sourceTraceRep.delete(it)
            }
        }
    }
 
}