diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java b/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java index 9d93117..353a641 100644 --- a/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java @@ -7,4 +7,5 @@ import java.util.List; public interface RemotePostService { List listPost(); + String getPostCode(String labelCode); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index 54ea506..9ac836b 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -19,12 +19,8 @@ import java.util.List; * @date 2025-02-27 */ @Data -@EqualsAndHashCode(callSuper = true) @TableName(value = "business_alert", autoResultMap = true) -public class BusinessAlert extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; +public class BusinessAlert { /** * diff --git a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java index bd8b33f..741842b 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java @@ -11,9 +11,12 @@ import org.dromara.business.domain.vo.BusinessAlertVo; import org.dromara.business.service.IBusinessAlertService; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.system.api.domain.vo.RemotePostVo; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; /** * 预警相关服务开放 @@ -49,7 +52,13 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic @Override public List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo) { List businessAlerts = businessAlertService.listVerifyAlert(businessAlertBo); - return MapstructUtils.convert(businessAlerts,RemoteBusinessAlertVo.class); + return businessAlerts.stream() + .map(businessAlertVo -> { + RemoteBusinessAlertVo remotePostVo = new RemoteBusinessAlertVo(); + BeanUtils.copyProperties(businessAlertVo, remotePostVo); + return remotePostVo; + }) + .collect(Collectors.toList()); } /** diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index a2488aa..5dd532d 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -27,6 +27,7 @@ import org.dromara.system.api.RemoteLabelPostService; import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo; import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.workflow.api.RemoteWorkflowService; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.lang.reflect.Method; @@ -76,7 +77,13 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { */ @Override public Boolean batchAddBusinessAlert(List alertVoList) { - List businessAlerts = MapstructUtils.convert(alertVoList, BusinessAlert.class); + List businessAlerts = alertVoList.stream().map(alert -> { + BusinessAlert businessAlert = new BusinessAlert(); + BeanUtils.copyProperties(alert, businessAlert); + + return businessAlert; + }).toList(); + return this.baseMapper.insertBatch(businessAlerts); } diff --git a/dk-modules/sample/pom.xml b/dk-modules/sample/pom.xml index 7249b87..92d0bc5 100644 --- a/dk-modules/sample/pom.xml +++ b/dk-modules/sample/pom.xml @@ -131,6 +131,11 @@ aws-java-sdk-sts 1.12.261 + + + org.dromara + api-workflow + ${project.artifactId} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/constant/MinIOConstants.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/constant/MinIOConstants.java index 91d8b98..5758655 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/constant/MinIOConstants.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/constant/MinIOConstants.java @@ -9,7 +9,7 @@ public interface MinIOConstants { //桶名称 无人机图片 String BUCKET_MEDIAFILE = "mediafile"; - + String BUCKET_DKCY = "dkcy"; //桶名称 默认数据 String BUCKET_MINIO = "minio"; 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 8e217c9..c58ca4f 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 @@ -167,4 +167,12 @@ public class AiCompareController extends BaseController { public R delAlertList(Listids) { return toAjax(aiCompareService.delAlertList(ids)); } + + /** + * 提交 + */ + @PostMapping("/commit") + public R commitAlert(@RequestBody List> alertList) { + return R.ok(aiCompareService.commitAlert(alertList)); + } } 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 0d1f49e..6027e6b 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 @@ -32,4 +32,6 @@ public interface IAiCompareService { List alertList(String jobId); Boolean delAlertList(Listids); + + Boolean commitAlert(List> alertList); } 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 f1c2784..c793c8c 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 @@ -41,6 +41,8 @@ import org.dromara.sample.wayline.model.entity.WaylineJobEntity; import org.dromara.sample.wayline.service.IAiCompareQueueService; import org.dromara.sample.wayline.service.IAiCompareService; import org.dromara.system.api.model.LoginUser; +import org.dromara.workflow.api.RemoteWorkflowService; +import org.dromara.workflow.api.domain.RemoteStartProcess; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -67,6 +69,10 @@ public class AiCompareServiceImpl implements IAiCompareService { private final IAiComparePlateMapper aiComparePlateMapper; @DubboReference private final RemoteBusinessAlertService businessAlertService; + + @DubboReference + private RemoteWorkflowService remoteWorkflowService; + @Override public TableDataInfo queryPageList(AiCompareDTO bo, PageQuery pageQuery) { return TableDataInfo.build(aiCompareMapper.selectPage(pageQuery.build(),this.buildAiCompareDTOQueryWrapper(bo))); @@ -143,8 +149,8 @@ public class AiCompareServiceImpl implements IAiCompareService { List mediaFileDTOList = aiCompareMapper.listMediaFile(jobId); if(!mediaFileDTOList.isEmpty()){ mediaFileDTOList.stream().forEach(e->{ - e.setFilePath(fileService.getObjectUrlOne(MinIOConstants.BUCKET_MEDIAFILE,e.getObjectKey(),seconds).toString()); - e.setMateFilePath(fileService.getObjectUrlOne(MinIOConstants.BUCKET_MEDIAFILE,e.getObjectKey(),seconds).toString()); + e.setFilePath(fileService.getObjectUrlOne(MinIOConstants.BUCKET_DKCY,e.getObjectKey(),seconds).toString()); + e.setMateFilePath(fileService.getObjectUrlOne(MinIOConstants.BUCKET_DKCY,e.getObjectKey(),seconds).toString()); if(isIllegal){ QueryWrapper queryWrapper = new QueryWrapper().eq("file_id", e.getFileId()); AiComparePlateEntity plateEntity = aiComparePlateMapper.selectOne(queryWrapper); @@ -192,8 +198,8 @@ public class AiCompareServiceImpl implements IAiCompareService { aiCompareEntity.setId(frameDTO.getCompareId()); aiCompareMapper.updateById(aiCompareEntity); frameDTO.setJobName(aiCompareEntity.getJobName()); - frameDTO.setFileUrl(fileService.getObjectUrlOne(MinIOConstants.BUCKET_MEDIAFILE,frameDTO.getFileUrl(),3600).toString()); - frameDTO.setMateFileUrl(fileService.getObjectUrlOne(MinIOConstants.BUCKET_MEDIAFILE,frameDTO.getMateFileUrl(),3600).toString()); + frameDTO.setFileUrl(fileService.getObjectUrlOne(MinIOConstants.BUCKET_DKCY,frameDTO.getFileUrl(),3600).toString()); + frameDTO.setMateFileUrl(fileService.getObjectUrlOne(MinIOConstants.BUCKET_DKCY,frameDTO.getMateFileUrl(),3600).toString()); String topic = TopicConst.IMAGE +TopicConst.FRAME; mqttGatewayPublish.publish(topic,new CommonTopicRequest().setData(frameDTO),1); return true; @@ -238,5 +244,18 @@ public class AiCompareServiceImpl implements IAiCompareService { return businessAlertService.deleteAlert(ids); } + @Override + public Boolean commitAlert(List> alertList) { + List startProcessList = alertList.stream().map(map -> { + String flowCode = remoteWorkflowService.getFlowCode(map.get("labelCn").toString()); + RemoteStartProcess remoteStartProcess = new RemoteStartProcess(); + remoteStartProcess.setBusinessId(map.get("id").toString()); + remoteStartProcess.setFlowCode(flowCode); + return remoteStartProcess; + }).toList(); + + return remoteWorkflowService.startWorkFlowBatch(startProcessList); + } + } diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java index 78a0ec9..5e747be 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java @@ -41,4 +41,9 @@ public class RemotePostServiceImpl implements RemotePostService { }) .collect(Collectors.toList()); } + + @Override + public String getPostCode(String labelCode) { + return sysPostService.getPostCode(labelCode); + } } diff --git a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysPostMapper.java b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysPostMapper.java index ce010cc..b9b2d19 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysPostMapper.java +++ b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysPostMapper.java @@ -34,4 +34,6 @@ public interface SysPostMapper extends BaseMapperPlus { List selectPostsByUserId(Long userId); SysPostVo selectLableByList(@Param("postCode") String postCode, @Param("deptId") Long deptId); + + String getPostCode(@Param("labelCode") String labelCode); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysPostService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysPostService.java index 31f7f64..1304f54 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysPostService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysPostService.java @@ -132,4 +132,6 @@ public interface ISysPostService { */ List selectPostsByUserId(Long userId); SysPostVo selectLableByList(String post_code, Long dept_id); + + String getPostCode(String labelCode); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java index 18cc014..23420a7 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java @@ -269,8 +269,14 @@ public class SysPostServiceImpl implements ISysPostService { return baseMapper.selectPostsByUserId(userId); } + @Override public SysPostVo selectLableByList(String postCode, Long deptId) { return baseMapper.selectLableByList(postCode,deptId); } + + @Override + public String getPostCode(String labelCode) { + return baseMapper.getPostCode(labelCode); + } } diff --git a/dk-modules/system/src/main/resources/mapper/system/SysPostMapper.xml b/dk-modules/system/src/main/resources/mapper/system/SysPostMapper.xml index 77615e6..3c12889 100644 --- a/dk-modules/system/src/main/resources/mapper/system/SysPostMapper.xml +++ b/dk-modules/system/src/main/resources/mapper/system/SysPostMapper.xml @@ -30,4 +30,25 @@ where p.post_code=#{postCode} and p.dept_id=#{deptId} + + diff --git a/dk-modules/workflow/pom.xml b/dk-modules/workflow/pom.xml index 3a1529e..f9235ac 100644 --- a/dk-modules/workflow/pom.xml +++ b/dk-modules/workflow/pom.xml @@ -108,6 +108,11 @@ api-business + + org.dromara + api-system + + diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java index 9ecd7b0..68bc346 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java @@ -1,7 +1,12 @@ package org.dromara.workflow.dubbo; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.system.api.RemoteLabelPostService; +import org.dromara.system.api.RemotePostService; +import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo; +import org.dromara.system.api.domain.vo.RemotePostVo; import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.domain.FlowLabelVo; @@ -35,6 +40,10 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService { private final IFlwDefinitionService flwDefinitionService; + @DubboReference + private RemotePostService remotePostService; + + private static final ExecutorService executor = Executors.newFixedThreadPool(10); @Override @@ -103,7 +112,10 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService { } @Override - public String getFlowCode(String postCode){ + public String getFlowCode(String labelCode){ + //标签名称 + String postCode = remotePostService.getPostCode(labelCode); + return flwDefinitionService.getFlowCode(postCode); }