diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java index beb4461..10d00bd 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java @@ -1,20 +1,22 @@ package org.dromara.business.controller; -import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.business.domain.BusinessAlert; import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.vo.BusinessAlertVo; import org.dromara.business.service.IBusinessAlertService; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; +import org.dromara.workflow.api.RemoteWorkflowService; +import org.dromara.workflow.api.domain.RemoteStartProcess; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 预警服务 @@ -31,6 +33,8 @@ public class BusinessAlertController extends BaseController { private final IBusinessAlertService businessAlertService; + @DubboReference(timeout = 30000) + private RemoteWorkflowService remoteWorkflowService; /** * 查询全部预警/待办/已完成/忽略 @@ -41,6 +45,28 @@ public class BusinessAlertController extends BaseController { return businessAlertService.getInfo(bo,pageQuery,alertCode); } + /** + * 查询全部预警/待办/已完成/忽略 + */ + @Operation(summary ="ai实时流预警保存",description = "ai实时流预警保存") + @PostMapping("/saveAlert") + public void saveAlert(BusinessAlertVo vo) { + vo.setBusinessType(2); + BusinessAlert businessAlert = businessAlertService.addBusinessAlert(vo); + RemoteStartProcess startProcess = new RemoteStartProcess(); + startProcess.setBusinessId(businessAlert.getAlertId()); + startProcess.setFlowCode("alertChz"); + remoteWorkflowService.startWorkFlowBatch(List.of(startProcess)); + } + + /** + * 查询全部预警/待办/已完成/忽略 + */ + @Operation(summary ="ai实时流预警保存",description = "ai实时流预警保存") + @PostMapping("/saveAlertList") + public void saveAlert(List alertVoList) { + businessAlertService.addBusinessAlertList(alertVoList); + } } 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 d742f17..e79e0ff 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 @@ -1,16 +1,14 @@ package org.dromara.business.domain; -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; -import java.io.Serial; import java.util.Date; -import java.util.List; /** * 预警任务对象 business_alert @@ -237,4 +235,6 @@ public class BusinessAlert { @TableField(exist = false) private String alertId; + //1:图片比对预警 2:AI实时预警 + private Integer businessType; } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index bf701bc..6f34cbf 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -240,5 +240,6 @@ public class BusinessAlertBo { private String endTime; private String aiName; + private Integer businessType; } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index af7aae7..ce203d9 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -1,21 +1,13 @@ package org.dromara.business.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.business.domain.BusinessAlert; -import org.dromara.common.core.enums.BusinessStatusEnum; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; import java.io.Serial; import java.io.Serializable; import java.util.Date; -import java.util.List; /** @@ -210,4 +202,6 @@ public class BusinessAlertVo implements Serializable { private String assignUserName; private Date createTime; + //1:图片比对预警 2:AI实时预警 + private Integer businessType; } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java index 5a61a2e..28c2e0d 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java @@ -33,9 +33,9 @@ public interface IBusinessAlertService { * @param param 预警任务 * @return 是否新增成功 */ - Boolean addBusinessAlert(BusinessAlertBo param); - + BusinessAlert addBusinessAlert(BusinessAlertVo param); + void addBusinessAlertList(List alertVoList); /** * 批量新增预警任务 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 f291ecc..13c464a 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 @@ -29,6 +29,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.dromara.workflow.api.domain.RemoteStartProcess; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -61,6 +62,7 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @DubboReference RemoteLabelPostService remoteLablePostService; + /** * 新增预警任务 * @@ -68,9 +70,26 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { * @return 是否新增成功 */ @Override - public Boolean addBusinessAlert(BusinessAlertBo param) { + public BusinessAlert addBusinessAlert(BusinessAlertVo param) { BusinessAlert alert = MapstructUtils.convert(param, BusinessAlert.class); - return this.baseMapper.insert(alert) > 0; + alert.setCreateTime(new Date()); + this.baseMapper.insert(alert); + return alert; + } + + @Override + public void addBusinessAlertList(List alertVoList) { + if(!alertVoList.isEmpty()) { + for (BusinessAlertVo alertVo : alertVoList) { + alertVo.setBusinessType(2); + BusinessAlert alert = addBusinessAlert(alertVo); + RemoteStartProcess startProcess = new RemoteStartProcess(); + startProcess.setBusinessId(alert.getAlertId()); + startProcess.setFlowCode("alertChz"); + remoteWorkflowService.startWorkFlowBatch(List.of(startProcess)); + } + } + } /** diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DisobeyDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DisobeyDTO.java index a538bd8..79eecd4 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DisobeyDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DisobeyDTO.java @@ -21,4 +21,7 @@ public class DisobeyDTO { private String model; private List type; + + //拉流地址 + private String rempUrl; }