Browse Source

提交:预约工单接口,比对接口

master
袁强 3 months ago
parent
commit
95027880bf
  1. 2
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java
  2. 2
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java
  3. 2
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java
  4. 6
      dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml
  5. 6
      dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java
  6. 26
      dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java
  7. 23
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java
  8. 8
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java
  9. 2
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java
  10. 9
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineJobService.java
  11. 7
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java
  12. 6
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineJobServiceImpl.java

2
dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java

@ -87,7 +87,7 @@ public class BusinessOperationBo {
* 航线名称 * 航线名称
* */ * */
@NotBlank(message = "航线名称不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "航线名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String fileName; private String waylineName;
/** /**
* *
* jobName * jobName

2
dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java

@ -80,7 +80,7 @@ public class BusinessTaskVo implements Serializable {
private Long createDept; private Long createDept;
private String deptName; private String deptName;
private String waylineId; private String waylineId;
private String fileName; private String waylineName;
private String jobName; private String jobName;
private String jobId; private String jobId;
//操作者id //操作者id

2
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java

@ -109,7 +109,7 @@ public class BusinessOperationServiceImpl implements IBusinessOperationService {
//根据工单绘制上传航线,绑定航线,填报信息 //根据工单绘制上传航线,绑定航线,填报信息
BusinessTaskVo businessTaskVo = businessTaskService.queryById(bo.getTaskId()); BusinessTaskVo businessTaskVo = businessTaskService.queryById(bo.getTaskId());
businessTaskVo.setWaylineId(bo.getWaylineId()); businessTaskVo.setWaylineId(bo.getWaylineId());
businessTaskVo.setFileName(bo.getFileName()); businessTaskVo.setWaylineName(bo.getWaylineName());
businessTaskVo.setStatus(BusinessConstants.TASK_STATUS_1); businessTaskVo.setStatus(BusinessConstants.TASK_STATUS_1);
BusinessTask businessTask = MapstructUtils.convert(businessTaskVo, BusinessTask.class); BusinessTask businessTask = MapstructUtils.convert(businessTaskVo, BusinessTask.class);
businessTaskService.update(businessTask); businessTaskService.update(businessTask);

6
dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml

@ -15,6 +15,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result column="nick_name" property="nickName" /> <result column="nick_name" property="nickName" />
<result column="create_dept" property="createDept" /> <result column="create_dept" property="createDept" />
<result column="dept_name" property="deptName" /> <result column="dept_name" property="deptName" />
<result column="job_id" property="jobId" />
<result column="job_name" property="jobName" />
<result column="wayline_id" property="waylineId" />
<result column="wayline_name" property="waylineName" />
<result column="status" property="status" /> <result column="status" property="status" />
<result column="polygon_region" property="polygonRegion" /> <result column="polygon_region" property="polygonRegion" />
<result column="verbal_trick" property="verbalTrick" /> <result column="verbal_trick" property="verbalTrick" />
@ -43,6 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
t.verbal_trick, t.verbal_trick,
t.expect_time, t.expect_time,
t.demand, t.demand,
t.job_id,
t.job_name,
t.complete_time, t.complete_time,
t.STATUS, t.STATUS,
t.create_by, t.create_by,

6
dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java

@ -80,4 +80,10 @@ public interface IFileService {
URL getObjectUrlOne(String bucket,String pathUrl,Integer seconds); URL getObjectUrlOne(String bucket,String pathUrl,Integer seconds);
/**
* 获取任务飞行的数据
* @param jobId 任务id
* @param fileType 图片类型 "jpeg,mp4"
* */
List<MediaFileDTO> getMediaFileDTO( String jobId,String fileType);
} }

26
dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java

@ -1,6 +1,8 @@
package org.dromara.sample.media.service.impl; package org.dromara.sample.media.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.oss.core.OssClient; import org.dromara.common.oss.core.OssClient;
import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.oss.factory.OssFactory;
@ -12,6 +14,7 @@ import org.dromara.common.sdk.common.Pagination;
import org.dromara.common.sdk.common.PaginationData; import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.manage.model.dto.DeviceDictionaryDTO; import org.dromara.sample.manage.model.dto.DeviceDictionaryDTO;
import org.dromara.sample.manage.service.IDeviceDictionaryService; import org.dromara.sample.manage.service.IDeviceDictionaryService;
import org.dromara.sample.media.constant.MinIOConstants;
import org.dromara.sample.media.mapper.IFileMapper; import org.dromara.sample.media.mapper.IFileMapper;
import org.dromara.sample.media.model.MediaFileDTO; import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.media.model.MediaFileEntity; import org.dromara.sample.media.model.MediaFileEntity;
@ -25,10 +28,7 @@ import java.sql.Time;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -149,6 +149,24 @@ public class FileServiceImpl implements IFileService {
return storage.getPrivateUrlURL(pathUrl,seconds); return storage.getPrivateUrlURL(pathUrl,seconds);
} }
@Override
public List<MediaFileDTO> getMediaFileDTO(String jobId,String fileTypesStr) {
String[] split = fileTypesStr.split(",");
List<MediaFileEntity> entities = mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>()
.eq(MediaFileEntity::getJobId, jobId)
.in(MediaFileEntity::getFileType, (Object[])split).orderByAsc(MediaFileEntity::getFileIndex));
if(entities.isEmpty()){
return new ArrayList<>();
}else {
entities.forEach(entity -> {
entity.setFilePath(this.getObjectUrlOne(MinIOConstants.BUCKET_DKCY,entity.getObjectKey(),3600).toString());
});
return entities.stream().map(this::entityConvertToDto).collect(Collectors.toList());
}
}
/** /**
* Convert the received file object into a database entity object. * Convert the received file object into a database entity object.
* @param file * @param file

23
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java

@ -1,6 +1,7 @@
package org.dromara.sample.wayline.controller; package org.dromara.sample.wayline.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -15,6 +16,7 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.wayline.model.dto.AiCompareDTO; import org.dromara.sample.wayline.model.dto.AiCompareDTO;
import org.dromara.sample.wayline.model.dto.AiCompareMediaFileDTO; import org.dromara.sample.wayline.model.dto.AiCompareMediaFileDTO;
import org.dromara.sample.wayline.model.dto.AiCompareQueueDTO; import org.dromara.sample.wayline.model.dto.AiCompareQueueDTO;
@ -24,6 +26,7 @@ import org.dromara.sample.wayline.model.entity.AiCompareQueueEntity;
import org.dromara.sample.wayline.model.entity.WaylineJobEntity; import org.dromara.sample.wayline.model.entity.WaylineJobEntity;
import org.dromara.sample.wayline.service.IAiCompareQueueService; import org.dromara.sample.wayline.service.IAiCompareQueueService;
import org.dromara.sample.wayline.service.IAiCompareService; import org.dromara.sample.wayline.service.IAiCompareService;
import org.dromara.sample.wayline.service.IWaylineJobService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -47,6 +50,8 @@ public class AiCompareController extends BaseController {
private final IAiCompareService aiCompareService; private final IAiCompareService aiCompareService;
private final IWaylineJobService waylineJobService;
/** /**
* 图片对比列表 * 图片对比列表
*/ */
@ -67,13 +72,12 @@ public class AiCompareController extends BaseController {
/** /**
* 模板列表 * 模板列表
* @param waylineId
* param createTime 当前记录的时间 * param createTime 当前记录的时间
*/ */
@SaCheckPermission("sample:compare:list") @SaCheckPermission("sample:compare:list")
@GetMapping("/templateList") @GetMapping("/templateList")
public List<WaylineJobEntity> templateList(String waylineId, Date createTime) { public List<WaylineJobEntity> templateList(String wayline_id, String create_time) {
return aiCompareQueueService.templateList(waylineId,createTime); return aiCompareQueueService.templateList(wayline_id,create_time);
} }
/** /**
@ -87,6 +91,19 @@ public class AiCompareController extends BaseController {
return R.ok(aiCompareService.queryById(id)); return R.ok(aiCompareService.queryById(id));
} }
/**
*
* 获取任务的飞行数据
* @param jobId 任务id
* @param fileTypeStr 图片类型 多个逗号隔开 jpeg,mp4
* */
@Operation(summary ="获取任务的飞行数据",description = "")
@GetMapping("/jobFile")
public R<List<MediaFileDTO>> getMediaFileDTO(String jobId, String fileTypeStr) {
return R.ok(waylineJobService.getMediaFileDTO(jobId,fileTypeStr));
}
/** /**
* 模板回显 * 模板回显
* *

8
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java

@ -4,10 +4,13 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo;
import org.dromara.common.core.domain.R;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.sdk.cloudapi.wayline.WaylineJobTypeEnum; import org.dromara.common.sdk.cloudapi.wayline.WaylineJobTypeEnum;
import org.dromara.common.sdk.common.HttpResultResponse; import org.dromara.common.sdk.common.HttpResultResponse;
import org.dromara.common.sdk.common.PaginationData; import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO; import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import org.dromara.sample.wayline.model.param.CreateJobParam; import org.dromara.sample.wayline.model.param.CreateJobParam;
import org.dromara.sample.wayline.model.param.UpdateJobParam; import org.dromara.sample.wayline.model.param.UpdateJobParam;
@ -18,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List;
import java.util.Set; import java.util.Set;
@ -102,4 +106,8 @@ public class WaylineJobController {
flighttaskService.updateJobStatus(workspaceId, jobId, param); flighttaskService.updateJobStatus(workspaceId, jobId, param);
return HttpResultResponse.success(); return HttpResultResponse.success();
} }
} }

2
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java

@ -15,7 +15,7 @@ import java.util.List;
*/ */
public interface IAiCompareQueueService { public interface IAiCompareQueueService {
TableDataInfo<AiCompareQueueEntity> queueList(AiCompareQueueDTO bo, PageQuery pageQuery); TableDataInfo<AiCompareQueueEntity> queueList(AiCompareQueueDTO bo, PageQuery pageQuery);
List<WaylineJobEntity>templateList(String waylineId, Date createTime); List<WaylineJobEntity>templateList(String waylineId, String createTime);
AiCompareQueueEntity getInfo(Long queueId); AiCompareQueueEntity getInfo(Long queueId);
Boolean updateStatus(List<Long> ids,String queueType); Boolean updateStatus(List<Long> ids,String queueType);

9
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IWaylineJobService.java

@ -1,6 +1,7 @@
package org.dromara.sample.wayline.service; package org.dromara.sample.wayline.service;
import org.dromara.common.sdk.common.PaginationData; import org.dromara.common.sdk.common.PaginationData;
import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO; import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
import org.dromara.sample.wayline.model.enums.WaylineJobStatusEnum; import org.dromara.sample.wayline.model.enums.WaylineJobStatusEnum;
import org.dromara.sample.wayline.model.param.CreateJobParam; import org.dromara.sample.wayline.model.param.CreateJobParam;
@ -76,4 +77,12 @@ public interface IWaylineJobService {
* @return * @return
*/ */
WaylineJobStatusEnum getWaylineState(String dockSn); WaylineJobStatusEnum getWaylineState(String dockSn);
/**
* 获取任务飞行的数据
* @param jobId 任务id
* @param fileType 图片类型 "jpeg,mp4"
* */
List<MediaFileDTO> getMediaFileDTO(String jobId, String fileType);
} }

7
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java

@ -14,6 +14,7 @@ import org.apache.poi.ss.formula.functions.T;
import org.dromara.business.api.RemoteBusinessTaskService; import org.dromara.business.api.RemoteBusinessTaskService;
import org.dromara.common.core.constant.AiCompareStatusConstants; import org.dromara.common.core.constant.AiCompareStatusConstants;
import org.dromara.common.core.constant.BusinessConstants; import org.dromara.common.core.constant.BusinessConstants;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
@ -56,15 +57,15 @@ public class AiCompareQueueServiceImpl implements IAiCompareQueueService {
} }
@Override @Override
public List<WaylineJobEntity> templateList(String waylineId, Date createTime) { public List<WaylineJobEntity> templateList(String waylineId, String createTime) {
QueryWrapper<WaylineJobEntity> wrapper = Wrappers.query(); QueryWrapper<WaylineJobEntity> wrapper = Wrappers.query();
// 如果 createTime 为空,使用当前时间 // 如果 createTime 为空,使用当前时间
if (createTime == null) { if (createTime == null) {
createTime = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant()); createTime = DateUtils.getDate();
} }
//获取最新的10条数据 //获取最新的10条数据
wrapper wrapper
.eq(StringUtils.isNotBlank(waylineId),"wayline_id", waylineId) .eq(StringUtils.isNotBlank(waylineId),"file_id", waylineId)
.lt(ObjectUtil.isNotEmpty(createTime),"create_time",createTime) // 增加创建时间小于指定时间的条件 .lt(ObjectUtil.isNotEmpty(createTime),"create_time",createTime) // 增加创建时间小于指定时间的条件
.orderByDesc("create_time") .orderByDesc("create_time")
.last("limit 10"); .last("limit 10");

6
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineJobServiceImpl.java

@ -17,6 +17,7 @@ import org.dromara.sample.manage.model.dto.DeviceDTO;
import org.dromara.sample.manage.service.IDeviceRedisService; import org.dromara.sample.manage.service.IDeviceRedisService;
import org.dromara.sample.manage.service.IDeviceService; import org.dromara.sample.manage.service.IDeviceService;
import org.dromara.sample.media.model.MediaFileCountDTO; import org.dromara.sample.media.model.MediaFileCountDTO;
import org.dromara.sample.media.model.MediaFileDTO;
import org.dromara.sample.media.service.IFileService; import org.dromara.sample.media.service.IFileService;
import org.dromara.sample.wayline.mapper.IWaylineJobMapper; import org.dromara.sample.wayline.mapper.IWaylineJobMapper;
import org.dromara.sample.wayline.model.dto.WaylineJobDTO; import org.dromara.sample.wayline.model.dto.WaylineJobDTO;
@ -226,6 +227,11 @@ public class WaylineJobServiceImpl implements IWaylineJobService {
return WaylineJobStatusEnum.UNKNOWN; return WaylineJobStatusEnum.UNKNOWN;
} }
@Override
public List<MediaFileDTO> getMediaFileDTO(String jobId, String fileType) {
return fileService.getMediaFileDTO(jobId,fileType);
}
private WaylineJobDTO entity2Dto(WaylineJobEntity entity) { private WaylineJobDTO entity2Dto(WaylineJobEntity entity) {
if (entity == null) { if (entity == null) {
return null; return null;

Loading…
Cancel
Save