shenyijian
2023-11-13 a0196be7cc866778d14c04da454d65d02173b70d
无人机 -巡航统计查询新增时间查询条件
5 files modified
28 ■■■■ changed files
src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
@@ -146,9 +146,9 @@
     * 统计飞行次数
     */
    @PostMapping("/{workspace_id}/patrol_statistics")
    public ResponseResult<WaylineJobCountDTO> patrolStatistics(@PathVariable(name = "workspace_id") String workspaceId){
    public ResponseResult<WaylineJobCountDTO> patrolStatistics(@PathVariable(name = "workspace_id") String workspaceId,String queryTime){
        WaylineJobCountDTO waylineJobCountDTO = waylineJobService.patrolStatistics(workspaceId);
        WaylineJobCountDTO waylineJobCountDTO = waylineJobService.patrolStatistics(workspaceId,queryTime);
        return ResponseResult.success(waylineJobCountDTO);
    }
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
@@ -6,6 +6,8 @@
import com.dji.sample.wayline.model.param.WaylineJobQueryParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @author sean
 * @version 1.1
@@ -16,4 +18,6 @@
    Page<WaylineJobEntity> getPage(Page<WaylineJobEntity> waylineJobEntityPage, @Param("queryParam") WaylineJobQueryParam param, @Param("workspaceId") String workspaceId);
    WaylineJobEntity getLatest(@Param("workspaceId")String workspaceId,@Param("queryParam") WaylineJobQueryParam waylineJobQueryParam);
    List<WaylineJobEntity> patrolStatistics(@Param("workspaceId") String workspaceId, @Param("queryTime") String queryTime);
}
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
@@ -54,4 +54,18 @@
    </select>
    <select id="patrolStatistics" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
        SELECT
            *
        FROM
            wayline_job
        WHERE 1=1
          and status = 3
        <if test="queryTime != null and queryTime != ''">
           and ( FROM_UNIXTIME( execute_time / 1000, '%Y' ) = #{queryTime} OR FROM_UNIXTIME( execute_time / 1000, '%Y-%m' ) = #{queryTime} )
        </if>
        <if test="workspaceId != null and workspaceId != ''">
            and workspace_id = #{workspaceId}
        </if>
    </select>
</mapper>
src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -164,7 +164,7 @@
     */
    WaylineJobEntity getLatestJob(String workspaceId, WaylineJobQueryParam waylineJobQueryParam);
    WaylineJobCountDTO patrolStatistics(String workspaceId);
    WaylineJobCountDTO patrolStatistics(String workspaceId,String queryTime);
    void updateJobCollect(WaylineJobEntity waylineJob);
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -1005,9 +1005,9 @@
    @Override
    public WaylineJobCountDTO patrolStatistics(String workspaceId) {
    public WaylineJobCountDTO patrolStatistics(String workspaceId,String queryTime) {
        WaylineJobCountDTO waylineJobCountDTO = new WaylineJobCountDTO();
        List<WaylineJobEntity> list = new LambdaQueryChainWrapper<>(mapper).eq(WaylineJobEntity::getStatus, 3).list();
        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;