shenyijian
2023-11-16 ae0db4ad3e552385ae8d3629dd9c594d9e3c7309
无人机 -查询任务媒体库优化
2 files modified
13 ■■■■ changed files
src/main/java/com/dji/sample/media/dao/IFileMapper.xml 11 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/media/dao/IFileMapper.xml
@@ -58,16 +58,14 @@
        <if test="param.endTime !=null and param.endTime !=null">
            AND DATE_FORMAT(FROM_UNIXTIME(j.create_time/1000,'%Y-%m-%d'),'%Y-%m-%d')   &lt;= DATE_FORMAT(#{param.endTime},'%Y-%m-%d')
        </if>
        <if test="param.sort eq 2">
            and j.collect_status = 1
        </if>
        <if test="param.sort eq 3">
            and m.collect_status = 1
        </if>
        <if test="param.waylineFileId != null and param.waylineFileId != ''">
            and w.wayline_id = #{param.waylineFileId}
        </if>
        GROUP BY m.job_id
        ORDER BY
        <if test="param.sort eq 2">j.collect_status = 1 desc,</if>
        <if test="param.sort eq 3">m.collect_status = 1 desc,</if>
        j.create_time desc
    </select>
    <select id="mediaDetail" resultType="com.dji.sample.media.model.MediaJobDTO">
        SELECT
@@ -84,5 +82,6 @@
        <if test="jobId != null and jobId != ''">
            and m.job_id = #{jobId}
        </if>
        ORDER BY type = '视频' DESC
    </select>
</mapper>
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -899,7 +899,7 @@
        List<WaylineJobEntity> list = mapper.patrolStatistics(workspaceId, queryTime);
        if (!CollectionUtils.isEmpty(list)) {
            waylineJobCountDTO.setTotalNumber(list.size());
            long totalTime = list.stream().mapToLong(s -> s.getEndTime() - s.getBeginTime()).sum() / 1000;
            long totalTime = list.stream().filter(task -> task.getCompletedTime()!= null && task.getExecuteTime()!= null).mapToLong(s -> s.getCompletedTime() - s.getExecuteTime()).sum() / 1000;
            StringBuffer buffer = new StringBuffer();
            long h = totalTime / 3600;
            long m = (totalTime % 3600) / 60;