From 967a3ee2621012a44dc6a9b89b61d389ae077717 Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Thu, 27 Mar 2025 20:57:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=9A=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=AF=94=E5=AF=B9=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dk-api/api-sample/pom.xml | 26 -------------- .../api/RemoteBusinessAlertService.java | 19 ---------- .../api/RemoteBusinessTaskService.java | 17 --------- .../wayline/mapper/IAiCompareMapper.java | 2 +- .../model/dto/AiCompareMediaFileDTO.java | 29 ++++----------- .../service/IAiCompareQueueService.java | 4 +++ .../wayline/service/IAiCompareService.java | 1 + .../impl/AiCompareQueueServiceImpl.java | 30 ++++++++++++++++ .../service/impl/AiCompareServiceImpl.java | 36 ++++++++++++++----- .../main/resources/mapper/AiCompareMapper.xml | 32 +++++++++++------ 10 files changed, 92 insertions(+), 104 deletions(-) delete mode 100644 dk-api/api-sample/pom.xml delete mode 100644 dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java delete mode 100644 dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java diff --git a/dk-api/api-sample/pom.xml b/dk-api/api-sample/pom.xml deleted file mode 100644 index 156e0ac..0000000 --- a/dk-api/api-sample/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - org.dromara - dk-api - ${revision} - - 4.0.0 - - api-sample - - api-sample无人机接口模块 - - - - - - - org.dromara - common-core - - - - diff --git a/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java b/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java deleted file mode 100644 index 88b19c7..0000000 --- a/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.dromara.business.api; - - - -/** - * 预警服务 - * - * @author Lion Li - */ -public interface RemoteBusinessAlertService { - - - /** - * 更新此条预警审批时候的状态 - * @param businessId 业务id(预警、工单) - * @param flowStatus 流程状态 - */ - void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType,String message,String assignName); -} diff --git a/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java b/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java deleted file mode 100644 index c0780ec..0000000 --- a/dk-api/api-sample/src/main/java/org/dromara/business/api/RemoteBusinessTaskService.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.dromara.business.api; - -/** - * @auther yq - * @data 2025/3/18 - */ -public interface RemoteBusinessTaskService { - - - /** - * 更新预约工单状态 - * @param fileId 航线id - * @param jobId 飞行记录id - * @param isJobStatus 飞行状态 - */ - void updateTaskStatus(String fileId, String jobId,Boolean isJobStatus); -} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IAiCompareMapper.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IAiCompareMapper.java index ac3d6cb..09e0b1b 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IAiCompareMapper.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/mapper/IAiCompareMapper.java @@ -11,5 +11,5 @@ import java.util.List; */ public interface IAiCompareMapper extends BaseMapper { - ListlistMediaFile(AiCompareEntity aiCompareEntity); + ListlistMediaFile(String jobId); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareMediaFileDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareMediaFileDTO.java index e511aeb..0b9761e 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareMediaFileDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareMediaFileDTO.java @@ -23,7 +23,6 @@ import java.util.Date; public class AiCompareMediaFileDTO { - private String id; /**上云文件id*/ private String fileId; @@ -36,31 +35,12 @@ public class AiCompareMediaFileDTO { @Schema(description = "文件所属的工作区") private String workspaceId; - @Schema(description = "桶中文件的关链字") - private String objectKey; - - @Schema(description = "此属性仅适用于由Pilot上传的图像文件。0:正常图片;1:全景。") - private String subFileType; - - @Schema(description = "是否原始图像") - private Boolean isOriginal; - - @Schema(description = "创建文件的无人机的sn。") - private String drone; - - @Schema(description = "创建文件的无人机有效载荷的名称。") - private String payload; - - @Schema(description = "文件的小指纹。此属性仅适用于由Pilot上传的媒体文件") - private String tinnyFingerprint; - - @Schema(description = "文件的指纹。此属性仅适用于由Pilot上传的媒体文件。") - private String fingerprint; private Date createTime; private String jobId; + private String mateFileId; @Schema(description = "模板图片名称") private String mateFileName; @@ -70,6 +50,11 @@ public class AiCompareMediaFileDTO { @Schema(description = "模板拍照时间") private Date mateFileDate; + @Schema(description = "文件所属的工作区") + private String mateWorkspaceId; + @Schema(description = "下标") + private Integer mateFileIndex; - + @Schema(description = "算法图班") + private Integer patternUrl; } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java index f0310a3..e6b8d45 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareQueueService.java @@ -18,4 +18,8 @@ public interface IAiCompareQueueService { ListtemplateList(String waylineId, Date createTime); AiCompareQueueEntity getInfo(Long queueId); Boolean updateStatus(List ids,String queueType); + + + //用于无人机飞行处理后通知,将航线加入到未比对列表 + Boolean addWaylineJobToQueue(String jobId); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareService.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareService.java index db044dc..9c08aef 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IAiCompareService.java @@ -25,4 +25,5 @@ public interface IAiCompareService { List queryById(Long id); Boolean pictureFrame(Map compare); + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java index 263e92c..f353c1d 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareQueueServiceImpl.java @@ -9,11 +9,17 @@ import com.tdunning.math.stats.Sort; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; import org.apache.poi.ss.formula.functions.T; +import org.dromara.business.api.RemoteBusinessTaskService; +import org.dromara.common.core.constant.AiCompareStatusConstants; +import org.dromara.common.core.constant.BusinessConstants; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sample.media.mapper.IFileMapper; +import org.dromara.sample.media.model.MediaFileEntity; import org.dromara.sample.wayline.mapper.IAiCompareQueueMapper; import org.dromara.sample.wayline.mapper.IWaylineJobMapper; import org.dromara.sample.wayline.model.dto.AiCompareDTO; @@ -41,6 +47,9 @@ public class AiCompareQueueServiceImpl implements IAiCompareQueueService { private final IAiCompareQueueMapper aiCompareQueueMapper; private final IWaylineJobMapper waylineJobMapper; + private final IFileMapper fileMapper; + @DubboReference + private final RemoteBusinessTaskService remoteBusinessTaskService; @Override public TableDataInfo queueList(AiCompareQueueDTO bo, PageQuery pageQuery) { return TableDataInfo.build(aiCompareQueueMapper.selectPage(pageQuery.build(),this.buildAiCompareDTOQueryWrapper(bo))); @@ -81,4 +90,25 @@ public class AiCompareQueueServiceImpl implements IAiCompareQueueService { public Boolean updateStatus(List ids,String queueType) { return aiCompareQueueMapper.updateStatus(ids,queueType); } + + @Override + public Boolean addWaylineJobToQueue(String jobId) { + boolean flag = false; + WaylineJobEntity waylineJob = waylineJobMapper.selectOne(Wrappers.lambdaQuery().eq(WaylineJobEntity::getJobId, jobId)); + if(waylineJob!=null){ + AiCompareQueueEntity aiCompareQueueEntity = new AiCompareQueueEntity(); + aiCompareQueueEntity.setWaylineId(waylineJob.getFileId()); + aiCompareQueueEntity.setWaylineName(waylineJob.getName()); + aiCompareQueueEntity.setJobId(jobId); + aiCompareQueueEntity.setJobName(waylineJob.getName()); + Long selectCount = fileMapper.selectCount(Wrappers.lambdaQuery().eq(MediaFileEntity::getJobId, jobId).eq(MediaFileEntity::getFileType, "jpeg")); + aiCompareQueueEntity.setPictureNumber(selectCount.intValue()); + aiCompareQueueEntity.setCreateTime(new Date()); + aiCompareQueueEntity.setQueueType(AiCompareStatusConstants.QUEUW_TYPE_0); + flag= aiCompareQueueMapper.insert(aiCompareQueueEntity)>0; + //去查询当前的航线是否是预约工单的是就更改完成 + remoteBusinessTaskService.updateTaskStatus(waylineJob.getFileId(), BusinessConstants.TASK_STATUS_3,null,null); + } + return flag; + } } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java index 729d53a..37dd8e1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java @@ -3,6 +3,7 @@ package org.dromara.sample.wayline.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -15,8 +16,13 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.common.sdk.mqtt.CommonTopicRequest; import org.dromara.common.sdk.mqtt.MqttGatewayPublish; import org.dromara.common.sdk.mqtt.TopicConst; +import org.dromara.sample.media.mapper.IFileMapper; +import org.dromara.sample.media.model.MediaFileEntity; +import org.dromara.sample.media.service.IFileService; +import org.dromara.sample.media.service.IMediaService; import org.dromara.sample.wayline.mapper.IAiCompareMapper; import org.dromara.sample.wayline.mapper.IWaylineJobMapper; import org.dromara.sample.wayline.model.dto.AiCompareDTO; @@ -48,6 +54,7 @@ public class AiCompareServiceImpl implements IAiCompareService { private final IAiCompareQueueService aiCompareQueueService; private final IAiCompareMapper aiCompareMapper; private final IWaylineJobMapper waylineJobMapper; + private final IFileService fileService; private final MqttGatewayPublish mqttGatewayPublish; @Override public TableDataInfo queryPageList(AiCompareDTO bo, PageQuery pageQuery) { @@ -113,18 +120,23 @@ public class AiCompareServiceImpl implements IAiCompareService { } } String topic = TopicConst.IMAGE +TopicConst.COMPARE; - - // mqttGatewayPublish.publish(topic,byId,1); + List mediaFileDTOS = listMediaFile(aiCompareEntity.getJobId()); + mqttGatewayPublish.publish(topic, new CommonTopicRequest().setData(mediaFileDTOS),1); insertList.add(aiCompareEntity); } List resultList = aiCompareMapper.insertOrUpdate(insertList, 10); - System.out.println(resultList); List list =compareDTOList.stream().map(e->Convert.toLong(e.get("queueId"))).collect(Collectors.toList()); - return aiCompareQueueService.updateStatus(list,AiCompareStatusConstants.QUEUW_TYPE_1); } - public List> listMediaFile(AiCompareEntity aiCompareEntity){ - return null; + public List listMediaFile(String jobId){ + List mediaFileDTOList = aiCompareMapper.listMediaFile(jobId); + if(!mediaFileDTOList.isEmpty()){ + mediaFileDTOList.stream().forEach(e->{ + e.setFilePath(fileService.getObjectUrl(e.getWorkspaceId(),e.getFileId()).toString()); + e.setMateFilePath(fileService.getObjectUrl(e.getMateWorkspaceId(),e.getMateFileId()).toString()); + }); + } + return mediaFileDTOList; } @@ -137,8 +149,12 @@ public class AiCompareServiceImpl implements IAiCompareService { if(StrUtil.isNotEmpty(templateId)){ aiCompareEntity.setTemplateId(templateId); } - - return aiCompareMapper.updateById(aiCompareEntity)>0; + int i = aiCompareMapper.updateById(aiCompareEntity); + AiCompareEntity compareEntity = aiCompareMapper.selectById(id); + String topic = TopicConst.IMAGE +TopicConst.COMPARE; + List mediaFileDTOS = listMediaFile(compareEntity.getJobId()); + mqttGatewayPublish.publish(topic, new CommonTopicRequest().setData(mediaFileDTOS),1); + return i>0; } @Override @@ -149,7 +165,7 @@ public class AiCompareServiceImpl implements IAiCompareService { @Override public List queryById(Long id) { AiCompareEntity aiCompareEntity = aiCompareMapper.selectById(id); - List mediaFileDTOList = aiCompareMapper.listMediaFile(aiCompareEntity); + List mediaFileDTOList = aiCompareMapper.listMediaFile(aiCompareEntity.getJobId()); return mediaFileDTOList; } @@ -158,4 +174,6 @@ public class AiCompareServiceImpl implements IAiCompareService { return true; } + + } diff --git a/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml b/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml index 99e5abf..3b7b48d 100644 --- a/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml +++ b/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml @@ -9,17 +9,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"