liusuyi
2025-12-20 5d1b27b300fcda6be04f12aa0aa5b0cb59df8b09
优化飞行状态
4 files modified
17 ■■■■■ changed files
ard-work/src/main/java/com/ard/work/domain/dto/UavFlightStateDTO.java 1 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskPartServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
ard-work/src/main/resources/mapper/ArdFlightTaskMapper.xml 6 ●●●●● patch | view | raw | blame | history
ard-work/src/main/resources/mapper/ArdFlightTaskPartMapper.xml 1 ●●●●● patch | view | raw | blame | history
ard-work/src/main/java/com/ard/work/domain/dto/UavFlightStateDTO.java
@@ -20,4 +20,5 @@
    private static final long serialVersionUID = 1L;
    private UavState uavState;
    private TelemetryData telemetryData;
    private long timestamp;
}
ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskPartServiceImpl.java
@@ -54,9 +54,9 @@
            UavFlightStateDTO dto = new UavFlightStateDTO(
                    uavState,
                    telemetryData
                    telemetryData,
                    System.currentTimeMillis()
            );
            addTelemetryData(dto);
        });
    }
@@ -94,7 +94,10 @@
                    .count(dataList.size())
                    .dataPart(blobData)
                    .build();
            part.setCreateTime(new Date());
            // 使用 list 中第一条数据的时间作为 createTime
            long firstTimeMillis = dataList.get(0).getTimestamp();
            Date createTime = new Date(firstTimeMillis);
            part.setCreateTime(createTime);
            ardflightTaskPartMapper.insert(part);
            log.info("设备 {} 分片保存 {} 条飞行数据到数据库成功", boxSn, dataList.size());
ard-work/src/main/resources/mapper/ArdFlightTaskMapper.xml
@@ -57,6 +57,12 @@
                <if test="startTime != null">AND aft.start_time &gt;= #{startTime}</if>
                <if test="endTime != null">AND aft.end_time &lt;= #{endTime}</if>
                <if test="serverId != null">AND aft.server_id = #{serverId}</if>
                <if test="params.beginTime != null"><!-- 开始时间检索 -->
                    AND aft.create_time &gt;= #{params.beginTime}
                </if>
                <if test="params.endTime != null"><!-- 结束时间检索 -->
                    ANDaft.create_time &lt;= #{params.endTime}
                </if>
            </trim>
        </where>
        ORDER BY aft.task_id DESC
ard-work/src/main/resources/mapper/ArdFlightTaskPartMapper.xml
@@ -22,6 +22,7 @@
        <if test="params.endTime != null"><!-- 结束时间检索 -->
            AND u.create_time &lt;= #{params.endTime}
        </if>
        ORDER BY u.create_time asc
    </select>
</mapper>