diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java index 4a8dee0..146e5e0 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java @@ -7,6 +7,7 @@ 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 org.apache.dubbo.config.annotation.DubboReference; import org.dromara.business.api.RemoteBusinessTaskService; import org.dromara.common.core.constant.BusinessConstants; import org.dromara.common.core.constant.DeviceQrtzConstants; @@ -65,7 +66,7 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService { private IWaylineFileMapper waylineFileMapper; @Autowired private IFlightTaskService flightTaskService; - @Autowired + @DubboReference private RemoteBusinessTaskService remoteBusinessTaskService; @Override public TableDataInfo listManageDeviceQrtz(Page page, DeviceQrtzDTO deviceQrtzDTO) { diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java index 2d12af7..251489c 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/AiCompareController.java @@ -132,12 +132,19 @@ public class AiCompareController extends BaseController { } /** - * 算法预警生成 + * 算法结果 */ - @Log(title = "算法预警生成", businessType = BusinessType.INSERT) - @RepeatSubmit() @PostMapping("/expose") - public R pictureFrame(@RequestBody Map map) { - return toAjax(aiCompareService.expose(map)); + public R expose(@RequestBody List> mapList) { + return toAjax(aiCompareService.expose(mapList)); + } + + /** + * 算法预警生成 + */ + @PostMapping("/expose/alert") + public R alert(@RequestBody List> mapList) { + return toAjax(aiCompareService.expose(mapList)); } + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareDTO.java index 4232c42..a45a158 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiCompareDTO.java @@ -95,7 +95,7 @@ public class AiCompareDTO implements Serializable { * 创建者 */ - private Long createBy; + private Long createId; /** *用户昵称 * */ @@ -105,16 +105,7 @@ public class AiCompareDTO implements Serializable { */ private Date createTime; - /** - * 更新者 - */ - - private Long updateBy; - /** - * 更新时间 - */ - private Date updateTime; /** * 请求参数 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 a515216..ca4ee70 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 @@ -27,6 +27,7 @@ public class AiCompareMediaFileDTO { /**上云文件id*/ private String fileId; + private Long compareId; @Schema(description = "文件名") private String fileName; diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiComparePlateDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiComparePlateDTO.java index 2a00f8f..7ff06c1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiComparePlateDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/dto/AiComparePlateDTO.java @@ -17,6 +17,10 @@ import org.dromara.sample.wayline.model.entity.AiComparePlateEntity; public class AiComparePlateDTO{ private Long id; + /** + * 比对id + * */ + private Long compareId; /** * 任务id * */ diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/AiCompareEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/AiCompareEntity.java index 563351a..d848863 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/AiCompareEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/AiCompareEntity.java @@ -1,11 +1,10 @@ package org.dromara.sample.wayline.model.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.*; import org.dromara.common.mybatis.core.domain.BaseEntity; +import java.util.Date; /** @@ -13,9 +12,8 @@ import org.dromara.common.mybatis.core.domain.BaseEntity; * @data 2025/3/21 */ @Data -@EqualsAndHashCode(callSuper = true) @TableName("ai_compare") -public class AiCompareEntity extends BaseEntity { +public class AiCompareEntity { @TableId(type = IdType.AUTO) private Long id; @@ -64,6 +62,25 @@ public class AiCompareEntity extends BaseEntity { * 任务id * */ private String jobId; + /** + * 创建部门 + */ + + private Long createDept; + + /** + * 创建者 + */ + + private Long createId; + + /** + * 创建时间 + */ + + private Date createTime; + + } 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 cc87f8e..499b94f 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 @@ -26,5 +26,6 @@ public interface IAiCompareService { List queryById(Long id); Boolean pictureFrame(FrameDTO frameDTO); - Boolean expose(Map map); + Boolean expose(List> mapList); + Boolean alert(List> mapList); } 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 8761a46..132a052 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 @@ -30,6 +30,7 @@ import org.dromara.sample.wayline.mapper.IAiComparePlateMapper; import org.dromara.sample.wayline.mapper.IWaylineJobMapper; import org.dromara.sample.wayline.model.dto.AiCompareDTO; import org.dromara.sample.wayline.model.dto.AiCompareMediaFileDTO; +import org.dromara.sample.wayline.model.dto.AiComparePlateDTO; import org.dromara.sample.wayline.model.dto.FrameDTO; import org.dromara.sample.wayline.model.entity.AiCompareEntity; import org.dromara.sample.wayline.model.entity.AiComparePlateEntity; @@ -71,7 +72,7 @@ public class AiCompareServiceImpl implements IAiCompareService { QueryWrapper wrapper = Wrappers.query(); wrapper .eq(StringUtils.isNotEmpty(bo.getStatus()), "status",bo.getStatus()) - .eq(ObjectUtil.isNotEmpty(bo.getCreateBy()), "create_by",bo.getCreateBy()) + .eq(ObjectUtil.isNotEmpty(bo.getCreateId()), "create_by",bo.getCreateId()) .like(StringUtils.isNotBlank(bo.getDeptName()), "lower(dept_name)", StringUtils.lowerCase(bo.getDeptName())) .like(StringUtils.isNotBlank(bo.getJobName()), "lower(job_name)", StringUtils.lowerCase(bo.getJobName())) .between(params.get("beginTime") != null && params.get("endTime") != null, @@ -103,7 +104,7 @@ public class AiCompareServiceImpl implements IAiCompareService { aiCompareEntity.setJobId(serviceInfo.getJobId()); aiCompareEntity.setJobName(serviceInfo.getJobName()); aiCompareEntity.setTotalNum(serviceInfo.getPictureNumber()); - aiCompareEntity.setCreateBy(loginUser.getUserId()); + aiCompareEntity.setCreateId(loginUser.getUserId()); aiCompareEntity.setNickName(loginUser.getNickname()); aiCompareEntity.setDeptName(loginUser.getDeptName()); aiCompareEntity.setCreateDept(loginUser.getDeptId()); @@ -185,15 +186,35 @@ public class AiCompareServiceImpl implements IAiCompareService { throw new RuntimeException("未获取到违建数据"); } String topic = TopicConst.IMAGE +TopicConst.FRAME; - List mediaFileDTOS = listMediaFile(frameDTO.getJobId(),3600,false); - mqttGatewayPublish.publish(topic,new CommonTopicRequest().setData(mediaFileDTOS),1); + + mqttGatewayPublish.publish(topic,new CommonTopicRequest().setData(frameDTO),1); return true; } @Override - public Boolean expose(Map map) { + public Boolean expose(List> mapList) { + if(!mapList.isEmpty()){ + List plateDTOS = Convert.toList(AiComparePlateDTO.class, mapList); + plateDTOS.parallelStream().forEach(e-> { + AiComparePlateEntity plateEntity = new AiComparePlateEntity(); + plateEntity.setFileId(e.getFileId()); + plateEntity.setPatternName(e.getPatternName()); + aiComparePlateMapper.delete(new QueryWrapper().eq("file_id", e.getFileId())); + aiComparePlateMapper.insert(plateEntity); + }); + Long compareId = plateDTOS.get(0).getCompareId(); + AiCompareEntity compareEntity = aiCompareMapper.selectById(compareId); + compareEntity.setStatus(AiCompareStatusConstants.COMPARE_STATUS_2); + compareEntity.setIllegalNum(plateDTOS.size()); + aiCompareMapper.updateById(compareEntity); + } return true; } + @Override + public Boolean alert(List> mapList) { + return null; + } + } diff --git a/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml b/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml index 3bb9880..47f725b 100644 --- a/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml +++ b/dk-modules/sample/src/main/resources/mapper/AiCompareMapper.xml @@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"