screen-api/src/main/java/com/moral/api/controller/UAVController.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.HistorySecondUav; import com.moral.api.mapper.HistorySecondUavMapper; import com.moral.api.pojo.vo.uav.UAVQueryDateVO; import com.moral.api.service.HistorySecondUavService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import io.swagger.annotations.Api; @@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; import java.util.List; /** @@ -30,6 +33,8 @@ @Autowired HistorySecondUavMapper historySecondUavMapper; @Autowired HistorySecondUavService historySecondUavService; /** * @Description: 根据组织id,mac以及时间查询无人机数据 * @Param: [] @@ -42,4 +47,23 @@ List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(new QueryWrapper<>()); return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),historySecondUavs); } /** * @Description: 查询组织在哪天有无人机飞行,返回具体日期 * @Param: [organizationId] * @return: com.moral.constant.ResultMessage * @Author: 陈凯裕 * @Date: 2021/9/8 */ @RequestMapping("queryDate") public ResultMessage queryDate(Integer organizationId){ //处理查询业务 List<Date> dates = historySecondUavService.queryDate(organizationId); //封装vo层 UAVQueryDateVO vo = UAVQueryDateVO.convert(dates); //返回数据 return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo); } } screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java
@@ -1,5 +1,7 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import java.time.LocalDateTime; import java.io.Serializable; @@ -23,6 +25,12 @@ private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 设备mac */ private String mac; screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryDateVO.java
New file @@ -0,0 +1,47 @@ package com.moral.api.pojo.vo.uav; import com.moral.util.DateUtils; import lombok.Data; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.List; /** * @ClassName UAVQueryDateVO * @Description 查询组织哪天有无人机飞行vo * @Author 陈凯裕 * @Date 2021/9/8 11:03 * @Version TODO **/ @Data public class UAVQueryDateVO { /** * @Description: 使用hashset是为了去重 * @Param: * @return: * @Author: 陈凯裕 * @Date: 2021/9/8 */ public HashSet<String> datesStr; /** * @Description: 将业务层返回数据转化为vo层数据 * @Param: [dates] * @return: com.moral.api.pojo.vo.uav.UAVQueryDateVO * @Author: 陈凯裕 * @Date: 2021/9/8 */ public static UAVQueryDateVO convert(List<Date> dates){ //日志格式转化为字符串格式 UAVQueryDateVO uavQueryDateVO = new UAVQueryDateVO(); HashSet<String> datesStr = new HashSet<>(); for (Date date : dates) { datesStr.add(DateUtils.dateToDateString(date,"yyyy-MM-dd")); } uavQueryDateVO.setDatesStr(datesStr); return uavQueryDateVO; } } screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java
@@ -3,6 +3,9 @@ import com.moral.api.entity.HistorySecondUav; import com.baomidou.mybatisplus.extension.service.IService; import java.util.Date; import java.util.List; /** * <p> * 无人机秒数据表 服务类 @@ -13,4 +16,13 @@ */ public interface HistorySecondUavService extends IService<HistorySecondUav> { /** * @Description: 根据组织id查询该组织在哪天有无人机飞行 * @Param: [organizationId] * @return: java.util.List<java.util.Date> * @Author: 陈凯裕 * @Date: 2021/9/8 */ List<Date> queryDate(Integer organizationId); } screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -1,10 +1,17 @@ package com.moral.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.HistorySecondUav; import com.moral.api.mapper.HistorySecondUavMapper; import com.moral.api.service.HistorySecondUavService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.util.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * <p> @@ -17,4 +24,27 @@ @Service public class HistorySecondUavServiceImpl extends ServiceImpl<HistorySecondUavMapper, HistorySecondUav> implements HistorySecondUavService { @Autowired HistorySecondUavMapper historySecondUavMapper; @Override public List<Date> queryDate(Integer organizationId) { //构造查询条件 QueryWrapper<HistorySecondUav> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("organization_id",organizationId); //设置查询时间范围为180天 Date endDate = new Date(); Date startDate = DateUtils.addDays(endDate, -180); queryWrapper.between("batch",startDate,endDate); //设置查询字段 queryWrapper.select("DISTINCT batch"); //查询结果 List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(queryWrapper); //结果转为Date集合 List<Date> result = new ArrayList<>(); for (HistorySecondUav historySecondUav : historySecondUavs) { result.add(historySecondUav.getBatch()); } return result; } }