Browse Source

任务-灵嗅记录保存扩展-初版

dev
时子升 4 days ago
parent
commit
f54221e3e6
  1. 128
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobAtmosphereController.java
  2. 127
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/WaylineJobAtmosphere.java
  3. 178
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/bo/WaylineJobAtmosphereBo.java
  4. 210
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/vo/WaylineJobAtmosphereVo.java
  5. 15
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/WaylineJobAtmosphereMapper.java
  6. 74
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineJobAtmosphereService.java
  7. 188
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineJobAtmosphereServiceImpl.java
  8. 7
      dk-modules/sample/src/main/resources/mapper/WaylineJobAtmosphereMapper.xml

128
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobAtmosphereController.java

@ -0,0 +1,128 @@
package org.dromara.sample.wayline.controller;
import java.util.List;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.sdk.common.HttpResultResponse;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import org.dromara.sample.wayline.service.IWaylineJobService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.sample.wayline.domain.vo.WaylineJobAtmosphereVo;
import org.dromara.sample.wayline.domain.bo.WaylineJobAtmosphereBo;
import org.dromara.sample.wayline.service.IWaylineJobAtmosphereService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 无人机任务-空气质量
* 前端访问路由地址为:/sample/WaylineJobAtmosphere
*
* @author szs
* @date 2025-06-16
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/WaylineJobAtmosphere")
public class WaylineJobAtmosphereController extends BaseController {
private final IWaylineJobAtmosphereService waylineJobAtmosphereService;
private final IWaylineJobService waylineJobService;
/**
* 查询无人机任务-空气质量列表
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:list")
@GetMapping("/list")
public TableDataInfo<WaylineJobAtmosphereVo> list(WaylineJobAtmosphereBo bo, PageQuery pageQuery) {
return waylineJobAtmosphereService.queryPageList(bo, pageQuery);
}
@GetMapping("/list/demo")
public List<WaylineJobAtmosphereVo> demoList(WaylineJobAtmosphereBo bo, PageQuery pageQuery) {
List<WaylineJobAtmosphereVo> demoList= waylineJobAtmosphereService.demoList(bo);
return demoList;
}
/**
* 导出无人机任务-空气质量列表
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:export")
@Log(title = "无人机任务-空气质量", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WaylineJobAtmosphereBo bo, HttpServletResponse response) {
List<WaylineJobAtmosphereVo> list = waylineJobAtmosphereService.queryList(bo);
ExcelUtil.exportExcel(list, "无人机任务-空气质量", WaylineJobAtmosphereVo.class, response);
}
/**
* 获取无人机任务-空气质量详细信息
*
* @param id 主键
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:query")
@GetMapping("/{id}")
public R<WaylineJobAtmosphereVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(waylineJobAtmosphereService.queryById(id));
}
/**
* 新增无人机任务-空气质量
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:add")
@Log(title = "无人机任务-空气质量", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WaylineJobAtmosphereBo bo) {
// Optional<WaylineJobDTO> waylineJobDTO = waylineJobService.getJobByJobInternalId(objectMap.get("jobId").toString());
// map.put("jobId",objectMap.get("jobId"));
// if (!waylineJobDTO.isEmpty()){
// map.put("jobName",waylineJobDTO.get().getJobName());
// }else {
// map.put("jobName",null);
// }
// waylineJobService.getJobByDockSn("");
return toAjax(waylineJobAtmosphereService.insertByBo(bo));
}
/**
* 修改无人机任务-空气质量
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:edit")
@Log(title = "无人机任务-空气质量", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WaylineJobAtmosphereBo bo) {
return toAjax(waylineJobAtmosphereService.updateByBo(bo));
}
/**
* 删除无人机任务-空气质量
*
* @param ids 主键串
*/
@SaCheckPermission("sample:WaylineJobAtmosphere:remove")
@Log(title = "无人机任务-空气质量", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(waylineJobAtmosphereService.deleteWithValidByIds(List.of(ids), true));
}
}

127
dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/WaylineJobAtmosphere.java

@ -0,0 +1,127 @@
package org.dromara.sample.wayline.domain;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 无人机任务-空气质量对象 wayline_job_atmosphere
*
* @author szs
* @date 2025-06-16
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("wayline_job_atmosphere")
public class WaylineJobAtmosphere implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@TableField("wayline_job_id")
private Long waylineJobId; //无人机任务ID
@TableField("job_id")
private String jobId; //任务UUID
@TableField("name")
private String name;//任务名称
@TableField("file_id")
private String fileId; //航线id 对应wayline_id 字段
@TableField("wayline_name")
private String waylineName;//航线名称
@TableField("dock_sn")
private String dockSn; //机场sn
@TableField("drone_sn")
private String droneSn;//无人机sn
@TableField("workspace_id")
private String workspaceId;//工作区id
@TableField("task_type")
private Long taskType;//任务类型
@TableField("begin_time")
private Date beginTime;//计划的开始时间
@TableField("end_time")
private Date endTime; //计划的结束时间
@TableField("serial")
private String serial; //负载设备序列号
@TableField("sequence")
private Long sequence;//数据序列号
@TableField("sate_num")
private Long sateNum; //卫星数量
@TableField("hdop")
private Long hdop; //水平精度因子
@TableField("utc_time_str")
private String utcTimeStr; //UTC时间
@TableField("latitude")
private Float latitude; //纬度
@TableField("longitude")
private Float longitude;//经度
@TableField("altitude")
private Float altitude;//海拔高度
@TableField("temperature")
private Float temperature; //温度
@TableField("humidity")
private Float humidity;//湿度
@TableField("pressure")
private Float pressure;//气压
// @TableField(value = "air_data", typeHandler = JacksonTypeHandler.class)
@TableField("air_data")
private String airData;//空气质量数据
@TableField("error_code")
private Long errorCode;//错误码
@TableField("status")
private Long status;//状态 1:待处理;2: 进行中;3:成功;4: 取消;5:失败
@TableField("parent_id")
private String parentId; //父级ID
@TableField("job_type")
private Long jobType;//任务类型 1:手动任务,2:自动任务,3:指令飞行,4:工单飞行
@TableField("pro_id")
private Long proId; //proID
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

178
dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/bo/WaylineJobAtmosphereBo.java

@ -0,0 +1,178 @@
package org.dromara.sample.wayline.domain.bo;
import cn.hutool.json.JSONObject;
import org.dromara.sample.wayline.domain.WaylineJobAtmosphere;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 无人机任务-空气质量业务对象 wayline_job_atmosphere
*
* @author szs
* @date 2025-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = WaylineJobAtmosphere.class, reverseConvertGenerate = false)
public class WaylineJobAtmosphereBo extends BaseEntity {
/**
* ID
*/
private Long id;
/**
* 无人机任务ID
*/
// @NotNull(message = "无人机任务ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long waylineJobId;
/**
* 任务UUID
*/
// @NotBlank(message = "任务UUID不能为空", groups = { AddGroup.class, EditGroup.class })
private String jobId;
/**
* 任务名称
*/
// @NotBlank(message = "任务名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 航线id 对应wayline_id 字段
*/
// @NotBlank(message = "航线id 对应wayline_id 字段不能为空", groups = { AddGroup.class, EditGroup.class })
private String fileId;
/**
* 航线名称
*/
private String waylineName;
/**
* 机场sn
*/
// @NotBlank(message = "机场sn不能为空", groups = { AddGroup.class, EditGroup.class })
private String dockSn;
/**
* 无人机sn
*/
private String droneSn;
/**
* 工作区id
*/
// @NotBlank(message = "工作区id不能为空", groups = { AddGroup.class, EditGroup.class })
private String workspaceId;
/**
* 任务类型
*/
private Long taskType;
/**
* 计划的开始时间
*/
private Date beginTime;
/**
* 计划的结束时间
*/
private Date endTime;
/**
* 负载设备序列号
*/
// @NotBlank(message = "负载设备序列号不能为空", groups = { AddGroup.class, EditGroup.class })
private String serial;
/**
* 数据序列号
*/
private Long sequence;
/**
* 卫星数量
*/
private Long sateNum;
/**
* 水平精度因子
*/
private Long hdop;
/**
* UTC时间
*/
private String utcTimeStr;
/**
* 纬度
*/
private Float latitude;
/**
* 经度
*/
private Float longitude;
/**
* 海拔高度
*/
private Float altitude;
/**
* 温度
*/
private Float temperature;
/**
* 湿度
*/
private Float humidity;
/**
* 气压
*/
private Float pressure;
/**
* 空气质量数据
*/
private String airData;
/**
* 错误码
*/
private Long errorCode;
/**
* 1:待处理;2: 进行中;3:成功;4: 取消;5:失败
*/
private Long status;
/**
* 父级ID
*/
private String parentId;
/**
* 1:手动任务2自动任务3指令飞行4工单飞行
*/
private Long jobType;
/**
* proID
*/
private Long proId;
}

210
dk-modules/sample/src/main/java/org/dromara/sample/wayline/domain/vo/WaylineJobAtmosphereVo.java

@ -0,0 +1,210 @@
package org.dromara.sample.wayline.domain.vo;
import java.util.Date;
import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.dromara.sample.wayline.domain.WaylineJobAtmosphere;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Map;
/**
* 无人机任务-空气质量视图对象 wayline_job_atmosphere
*
* @author szs
* @date 2025-06-16
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = WaylineJobAtmosphere.class)
public class WaylineJobAtmosphereVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "ID")
private Long id;
/**
* 无人机任务ID
*/
@ExcelProperty(value = "无人机任务ID")
private Long waylineJobId;
/**
* 任务UUID
*/
@ExcelProperty(value = "任务UUID")
private String jobId;
/**
* 任务名称
*/
@ExcelProperty(value = "任务名称")
private String name;
/**
* 航线id 对应wayline_id 字段
*/
@ExcelProperty(value = "航线id 对应wayline_id 字段")
private String fileId;
/**
* 航线名称
*/
@ExcelProperty(value = "航线名称")
private String waylineName;
/**
* 机场sn
*/
@ExcelProperty(value = "机场sn")
private String dockSn;
/**
* 无人机sn
*/
@ExcelProperty(value = "无人机sn")
private String droneSn;
/**
* 工作区id
*/
@ExcelProperty(value = "工作区id")
private String workspaceId;
/**
* 任务类型
*/
@ExcelProperty(value = "任务类型")
private Long taskType;
/**
* 计划的开始时间
*/
@ExcelProperty(value = "计划的开始时间")
private Date beginTime;
/**
* 计划的结束时间
*/
@ExcelProperty(value = "计划的结束时间")
private Date endTime;
/**
* 负载设备序列号
*/
@ExcelProperty(value = "负载设备序列号")
private String serial;
/**
* 数据序列号
*/
@ExcelProperty(value = "数据序列号")
private Long sequence;
/**
* 卫星数量
*/
@ExcelProperty(value = "卫星数量")
private Long sateNum;
/**
* 水平精度因子
*/
@ExcelProperty(value = "水平精度因子")
private Long hdop;
/**
* UTC时间
*/
@ExcelProperty(value = "UTC时间")
private String utcTimeStr;
/**
* 纬度
*/
@ExcelProperty(value = "纬度")
private Float latitude;
/**
* 经度
*/
@ExcelProperty(value = "经度")
private Float longitude;
/**
* 海拔高度
*/
@ExcelProperty(value = "海拔高度")
private Float altitude;
/**
* 温度
*/
@ExcelProperty(value = "温度")
private Float temperature;
/**
* 湿度
*/
@ExcelProperty(value = "湿度")
private Float humidity;
/**
* 气压
*/
@ExcelProperty(value = "气压")
private Float pressure;
/**
* 空气质量数据
*/
@ExcelProperty(value = "空气质量数据")
// @JsonProperty("air_data") //无效
private String airData;
private JSONObject airDataJson;
/**
* 错误码
*/
@ExcelProperty(value = "错误码")
private Long errorCode;
/**
* 1:待处理;2: 进行中;3:成功;4: 取消;5:失败
*/
@ExcelProperty(value = "1:待处理;2: 进行中;3:成功;4: 取消;5:失败")
private Long status;
/**
* 父级ID
*/
@ExcelProperty(value = "父级ID")
private String parentId;
/**
* 1:手动任务2自动任务3指令飞行4工单飞行
*/
@ExcelProperty(value = "1:手动任务,2:自动任务,3:指令飞行,4:工单飞行")
private Long jobType;
/**
* proID
*/
@ExcelProperty(value = "proID")
private Long proId;
}

15
dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/WaylineJobAtmosphereMapper.java

@ -0,0 +1,15 @@
package org.dromara.sample.wayline.mapper;
import org.dromara.sample.wayline.domain.WaylineJobAtmosphere;
import org.dromara.sample.wayline.domain.vo.WaylineJobAtmosphereVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 无人机任务-空气质量Mapper接口
*
* @author szs
* @date 2025-06-16
*/
public interface WaylineJobAtmosphereMapper extends BaseMapperPlus<WaylineJobAtmosphere, WaylineJobAtmosphereVo> {
}

74
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineJobAtmosphereService.java

@ -0,0 +1,74 @@
package org.dromara.sample.wayline.service;
import cn.hutool.json.JSONObject;
import org.dromara.sample.wayline.domain.vo.WaylineJobAtmosphereVo;
import org.dromara.sample.wayline.domain.bo.WaylineJobAtmosphereBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import java.util.Collection;
import java.util.List;
/**
* 无人机任务-空气质量Service接口
*
* @author szs
* @date 2025-06-16
*/
public interface IWaylineJobAtmosphereService {
/**
* 查询无人机任务-空气质量
*
* @param id 主键
* @return 无人机任务-空气质量
*/
WaylineJobAtmosphereVo queryById(Long id);
/**
* 分页查询无人机任务-空气质量列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 无人机任务-空气质量分页列表
*/
TableDataInfo<WaylineJobAtmosphereVo> queryPageList(WaylineJobAtmosphereBo bo, PageQuery pageQuery);
/**
* 查询符合条件的无人机任务-空气质量列表
*
* @param bo 查询条件
* @return 无人机任务-空气质量列表
*/
List<WaylineJobAtmosphereVo> queryList(WaylineJobAtmosphereBo bo);
/**
* 新增无人机任务-空气质量
*
* @param bo 无人机任务-空气质量
* @return 是否新增成功
*/
Boolean insertByBo(WaylineJobAtmosphereBo bo);
/**
* 修改无人机任务-空气质量
*
* @param bo 无人机任务-空气质量
* @return 是否修改成功
*/
Boolean updateByBo(WaylineJobAtmosphereBo bo);
/**
* 校验并批量删除无人机任务-空气质量信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
void handleAdd(WaylineJobDTO waylineJobDTO, JSONObject json);
List<WaylineJobAtmosphereVo> demoList(WaylineJobAtmosphereBo bo);
}

188
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineJobAtmosphereServiceImpl.java

@ -0,0 +1,188 @@
package org.dromara.sample.wayline.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import org.springframework.stereotype.Service;
import org.dromara.sample.wayline.domain.bo.WaylineJobAtmosphereBo;
import org.dromara.sample.wayline.domain.vo.WaylineJobAtmosphereVo;
import org.dromara.sample.wayline.domain.WaylineJobAtmosphere;
import org.dromara.sample.wayline.mapper.WaylineJobAtmosphereMapper;
import org.dromara.sample.wayline.service.IWaylineJobAtmosphereService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 无人机任务-空气质量Service业务层处理
*
* @author szs
* @date 2025-06-16
*/
@RequiredArgsConstructor
@Service
public class WaylineJobAtmosphereServiceImpl implements IWaylineJobAtmosphereService {
private final WaylineJobAtmosphereMapper baseMapper;
/**
* 查询无人机任务-空气质量
*
* @param id 主键
* @return 无人机任务-空气质量
*/
@Override
public WaylineJobAtmosphereVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询无人机任务-空气质量列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 无人机任务-空气质量分页列表
*/
@Override
public TableDataInfo<WaylineJobAtmosphereVo> queryPageList(WaylineJobAtmosphereBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WaylineJobAtmosphere> lqw = buildQueryWrapper(bo);
Page<WaylineJobAtmosphereVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
//转换airData让前台处理
for (WaylineJobAtmosphereVo record : result.getRecords()) {
if(ObjectUtil.isNotEmpty(record.getAirData())){
record.setAirDataJson(JSONUtil.parseObj(record.getAirData()));
}
}
return TableDataInfo.build(result);
}
/**
* 查询符合条件的无人机任务-空气质量列表
*
* @param bo 查询条件
* @return 无人机任务-空气质量列表
*/
@Override
public List<WaylineJobAtmosphereVo> queryList(WaylineJobAtmosphereBo bo) {
LambdaQueryWrapper<WaylineJobAtmosphere> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WaylineJobAtmosphere> buildQueryWrapper(WaylineJobAtmosphereBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WaylineJobAtmosphere> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getWaylineJobId() != null, WaylineJobAtmosphere::getWaylineJobId, bo.getWaylineJobId());
lqw.eq(StringUtils.isNotBlank(bo.getJobId()), WaylineJobAtmosphere::getJobId, bo.getJobId());
lqw.like(StringUtils.isNotBlank(bo.getName()), WaylineJobAtmosphere::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), WaylineJobAtmosphere::getFileId, bo.getFileId());
lqw.like(StringUtils.isNotBlank(bo.getWaylineName()), WaylineJobAtmosphere::getWaylineName, bo.getWaylineName());
lqw.eq(StringUtils.isNotBlank(bo.getDockSn()), WaylineJobAtmosphere::getDockSn, bo.getDockSn());
lqw.eq(StringUtils.isNotBlank(bo.getDroneSn()), WaylineJobAtmosphere::getDroneSn, bo.getDroneSn());
lqw.eq(StringUtils.isNotBlank(bo.getWorkspaceId()), WaylineJobAtmosphere::getWorkspaceId, bo.getWorkspaceId());
lqw.eq(bo.getTaskType() != null, WaylineJobAtmosphere::getTaskType, bo.getTaskType());
lqw.eq(bo.getBeginTime() != null, WaylineJobAtmosphere::getBeginTime, bo.getBeginTime());
lqw.eq(bo.getEndTime() != null, WaylineJobAtmosphere::getEndTime, bo.getEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getSerial()), WaylineJobAtmosphere::getSerial, bo.getSerial());
lqw.eq(bo.getSequence() != null, WaylineJobAtmosphere::getSequence, bo.getSequence());
lqw.eq(bo.getSateNum() != null, WaylineJobAtmosphere::getSateNum, bo.getSateNum());
lqw.eq(bo.getHdop() != null, WaylineJobAtmosphere::getHdop, bo.getHdop());
lqw.eq(bo.getUtcTimeStr() != null, WaylineJobAtmosphere::getUtcTimeStr, bo.getUtcTimeStr());
lqw.eq(bo.getLatitude() != null, WaylineJobAtmosphere::getLatitude, bo.getLatitude());
lqw.eq(bo.getLongitude() != null, WaylineJobAtmosphere::getLongitude, bo.getLongitude());
lqw.eq(bo.getAltitude() != null, WaylineJobAtmosphere::getAltitude, bo.getAltitude());
lqw.eq(bo.getTemperature() != null, WaylineJobAtmosphere::getTemperature, bo.getTemperature());
lqw.eq(bo.getHumidity() != null, WaylineJobAtmosphere::getHumidity, bo.getHumidity());
lqw.eq(bo.getPressure() != null, WaylineJobAtmosphere::getPressure, bo.getPressure());
// lqw.eq(JSONUtil.isTypeJSONObject(bo.getAirData().toString()), WaylineJobAtmosphere::getAirData, bo.getAirData());
lqw.eq(bo.getErrorCode() != null, WaylineJobAtmosphere::getErrorCode, bo.getErrorCode());
lqw.eq(bo.getStatus() != null, WaylineJobAtmosphere::getStatus, bo.getStatus());
lqw.eq(StringUtils.isNotBlank(bo.getParentId()), WaylineJobAtmosphere::getParentId, bo.getParentId());
lqw.eq(bo.getJobType() != null, WaylineJobAtmosphere::getJobType, bo.getJobType());
lqw.eq(bo.getProId() != null, WaylineJobAtmosphere::getProId, bo.getProId());
return lqw;
}
/**
* 新增无人机任务-空气质量
*
* @param bo 无人机任务-空气质量
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(WaylineJobAtmosphereBo bo) {
WaylineJobAtmosphere add = MapstructUtils.convert(bo, WaylineJobAtmosphere.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改无人机任务-空气质量
*
* @param bo 无人机任务-空气质量
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(WaylineJobAtmosphereBo bo) {
WaylineJobAtmosphere update = MapstructUtils.convert(bo, WaylineJobAtmosphere.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WaylineJobAtmosphere entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除无人机任务-空气质量信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public void handleAdd(WaylineJobDTO waylineJobDTO, JSONObject json) {
System.out.println(waylineJobDTO);
System.out.println(json);
}
@Override
public List<WaylineJobAtmosphereVo> demoList(WaylineJobAtmosphereBo bo) {
LambdaQueryWrapper<WaylineJobAtmosphere> wrapper = new LambdaQueryWrapper<>();
wrapper.gt(WaylineJobAtmosphere::getId, 1240);
wrapper.lt(WaylineJobAtmosphere::getId, 2495);
List<WaylineJobAtmosphereVo> waylineJobAtmosphereVos = baseMapper.selectVoList(wrapper);
//转换airData让前台处理
for (WaylineJobAtmosphereVo record : waylineJobAtmosphereVos) {
if(ObjectUtil.isNotEmpty(record.getAirData())){
record.setAirDataJson(JSONUtil.parseObj(record.getAirData()));
}
}
return waylineJobAtmosphereVos;
}
}

7
dk-modules/sample/src/main/resources/mapper/WaylineJobAtmosphereMapper.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sample.wayline.mapper.WaylineJobAtmosphereMapper">
</mapper>
Loading…
Cancel
Save