From 2ff0c1aafd13b4b3632707d654e9d6899d836da9 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Sat, 29 Mar 2025 09:31:43 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=201=E3=80=81=E5=BC=80=E5=8F=91dubbo?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2=E5=BE=85=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E3=80=81=E5=88=A0=E9=99=A4=E5=BE=85=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E9=A2=84=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/RemoteBusinessAlertService.java | 18 ++ .../api/domain/bo/RemoteBusinessAlertBo.java | 18 ++ .../api/domain/vo/RemoteBusinessAlertVo.java | 190 ++++++++++++++++++ .../business/controller/FixController.java | 2 +- .../business/domain/BusinessAlert.java | 2 +- .../business/domain/bo/BusinessAlertBo.java | 11 +- .../business/domain/vo/BusinessAlertVo.java | 136 ++++--------- .../dubbo/RemoteBusinessAlertServiceImpl.java | 30 +++ .../service/IBusinessAlertService.java | 7 + .../impl/BusinessAlertServiceImpl.java | 25 +++ 10 files changed, 335 insertions(+), 104 deletions(-) create mode 100644 dk-api/api-business/src/main/java/org/dromara/business/api/domain/bo/RemoteBusinessAlertBo.java create mode 100644 dk-api/api-business/src/main/java/org/dromara/business/api/domain/vo/RemoteBusinessAlertVo.java diff --git a/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java b/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java index 88b19c7..e7138d7 100644 --- a/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java +++ b/dk-api/api-business/src/main/java/org/dromara/business/api/RemoteBusinessAlertService.java @@ -1,6 +1,10 @@ package org.dromara.business.api; +import org.dromara.business.api.domain.bo.RemoteBusinessAlertBo; +import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo; + +import java.util.List; /** * 预警服务 @@ -16,4 +20,18 @@ public interface RemoteBusinessAlertService { * @param flowStatus 流程状态 */ void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType,String message,String assignName); + + /** + * 查询待验证状态预警列表 + * @param businessAlertBo + * @return + */ + List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo); + + /** + * 根据主键删除待验证预警 + * @param alertIdList + * @return + */ + Boolean deleteAlert(List alertIdList); } diff --git a/dk-api/api-business/src/main/java/org/dromara/business/api/domain/bo/RemoteBusinessAlertBo.java b/dk-api/api-business/src/main/java/org/dromara/business/api/domain/bo/RemoteBusinessAlertBo.java new file mode 100644 index 0000000..fbd0330 --- /dev/null +++ b/dk-api/api-business/src/main/java/org/dromara/business/api/domain/bo/RemoteBusinessAlertBo.java @@ -0,0 +1,18 @@ +package org.dromara.business.api.domain.bo; + +import lombok.Data; + +@Data +public class RemoteBusinessAlertBo { + + /** + * job任务id + */ + private String jobId; + + /** + * 处理状态 + */ + private String handleType; + +} diff --git a/dk-api/api-business/src/main/java/org/dromara/business/api/domain/vo/RemoteBusinessAlertVo.java b/dk-api/api-business/src/main/java/org/dromara/business/api/domain/vo/RemoteBusinessAlertVo.java new file mode 100644 index 0000000..6beda09 --- /dev/null +++ b/dk-api/api-business/src/main/java/org/dromara/business/api/domain/vo/RemoteBusinessAlertVo.java @@ -0,0 +1,190 @@ +package org.dromara.business.api.domain.vo; + + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +@Data +public class RemoteBusinessAlertVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + + /** + * + */ + private String id; + + /** + * job任务id + */ + private String jobId; + + /** + * 预警名称 + */ + private String jobName; + + /** + * 图片id 对应的media_file 的fileId + */ + private String taskImageId; + + /** + * 处理原因 + */ + private String reason; + + /** + * 是否指派 + */ + private Boolean assign; + + /** + * 图片文件 + */ + private String images; + + /** + * 纬度 + */ + private Long lat; + + /** + * 精度 + */ + private Long lng; + + /** + * 标签名-中 + */ + private String labelCn; + + /** + * 标签名-英 + */ + private String labelEn; + + /** + * 任务内容 + */ + private String taskContent; + + /** + * 删除 0 正常 1已删除 + */ + private Integer delFlag; + + /** + * 模板图片 + */ + private String mateSourceImgUrl; + + + /** + * 放大模板违建区域图片 + */ + private String maxMateSourceImgUrl; + + /** + * 预警类型 + */ + private String alertType; + + /** + * 放大违建区域图片 + */ + private String maxImages; + + /** + * 面积 + */ + private Long area; + + /** + * 面积:长 + */ + private Long areaL; + + /** + * 面积:宽 + */ + private Long areaW; + + /** + * 流程处置状态(verify:验证,cancel:已撤销,draft:草稿,waiting:待审核,finish:已完成,invalid:已作废,back:已退回,termination:已终止) + */ + private String handleType; + + /** + * 指派人员 + */ + private String assignUserId; + + /** + * 指派时间 + */ + private Date assignDate; + + /** + * 完成时间 + */ + private Date completeDate; + + /** + * 是否违建 0:否,1:是 + */ + private Boolean isIllegal; + + /** + * 部门id + */ + private String deptId; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 处理时间 + */ + private Date handleTime; + + /** + * 其他:内容 + */ + private String taskHandle; + + /** + * 像素坐标 + */ + private String pixelCoordinate; + + /** + * 当前位置预警数量 + */ + private Integer handleNum; + + /** + * 地类信息数据 + */ + private String landCategories; + + /** + * 忽略原因 + */ + private String ignoringCause; + + /** + * 来源:0:平台 1:小程序 + */ + private Integer handleSource; + + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/FixController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/FixController.java index f84c3ef..16f4b71 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/FixController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/FixController.java @@ -54,7 +54,7 @@ public class FixController extends BaseController { .map(alert -> { RemoteStartProcess remoteStartProcess = new RemoteStartProcess(); remoteStartProcess.setFlowCode(flowCode); - remoteStartProcess.setBusinessId(alert.getId()); + remoteStartProcess.setBusinessId(String.valueOf(alert.getId())); return remoteStartProcess; }) .collect(Collectors.toList()); 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 9a70c95..c553849 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 @@ -30,7 +30,7 @@ public class BusinessAlert extends BaseEntity { * */ @TableId(type = IdType.ASSIGN_ID) - private String id; + private Long id; /** * job任务id 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 8db72e8..32a7b36 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 @@ -1,17 +1,8 @@ package org.dromara.business.domain.bo; -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.TableField; -import org.dromara.business.domain.BusinessAlert; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; +import org.dromara.business.domain.BusinessAlert; import java.util.Date; import java.util.List; 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 c70d16a..84b99d8 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 @@ -2,6 +2,9 @@ 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; @@ -26,118 +29,105 @@ import java.util.List; @AutoMapper(target = BusinessAlert.class) public class BusinessAlertVo implements Serializable { - @Serial - private static final long serialVersionUID = 1L; + /** + * + */ + private Long id; /** - * 任务轮id + * job任务id */ - @ExcelProperty(value = "任务轮id") - private String wheelId; + private String jobId; /** - * 媒体id + * 预警名称 */ - @ExcelProperty(value = "媒体id") - private String taskId; + private String jobName; /** - * 图片id + * 图片id 对应的media_file 的fileId */ - @ExcelProperty(value = "图片id") private String taskImageId; /** * 处理原因 */ - @ExcelProperty(value = "处理原因") private String reason; + /** + * 是否指派 + */ + private Boolean assign; + /** * 图片文件 */ - @ExcelProperty(value = "图片文件") private String images; - - /** * 纬度 */ - @ExcelProperty(value = "纬度") private Long lat; /** * 精度 */ - @ExcelProperty(value = "精度") private Long lng; - /** - * 标签名-英 - */ - private String labelEn; - /** * 标签名-中 */ - @ExcelProperty(value = "标签名-中") private String labelCn; - /** - * 预警类型 + * 标签名-英 */ - @ExcelProperty(value = "预警类型") - private String alertType; - + private String labelEn; /** * 任务内容 */ - @ExcelProperty(value = "任务内容") private String taskContent; /** - * 完成时间 + * 删除 0 正常 1已删除 */ - @ExcelProperty(value = "完成时间") - private Date completeDate; + private Integer delFlag; /** * 模板图片 */ - @ExcelProperty(value = "模板图片") private String mateSourceImgUrl; + /** * 放大模板违建区域图片 */ - @ExcelProperty(value = "放大模板违建区域图片") private String maxMateSourceImgUrl; + /** + * 预警类型 + */ + private String alertType; + /** * 放大违建区域图片 */ - @ExcelProperty(value = "放大违建区域图片") private String maxImages; /** * 面积 */ - @ExcelProperty(value = "面积") private Long area; /** * 面积:长 */ - @ExcelProperty(value = "面积:长") private Long areaL; /** * 面积:宽 */ - @ExcelProperty(value = "面积:宽") private Long areaW; /** @@ -145,111 +135,73 @@ public class BusinessAlertVo implements Serializable { */ private String handleType; + /** + * 指派人员 + */ + private String assignUserId; + + /** + * 指派时间 + */ + private Date assignDate; + + /** + * 完成时间 + */ + private Date completeDate; + /** * 是否违建 0:否,1:是 */ - @ExcelProperty(value = "是否违建 0:否,1:是") private Boolean isIllegal; /** * 部门id */ - @ExcelProperty(value = "部门id") private String deptId; /** * 部门名称 */ - @ExcelProperty(value = "部门名称") private String deptName; - /** - * 预警名称 - */ - @ExcelProperty(value = "预警名称") - private String jobName; - /** * 处理时间 */ - @ExcelProperty(value = "处理时间") private Date handleTime; /** * 其他:内容 */ - @ExcelProperty(value = "其他:内容") private String taskHandle; - /** - * 平台类型 - */ - @ExcelProperty(value = "平台类型") - private String platformType; - /** * 像素坐标 */ - @ExcelProperty(value = "像素坐标") private String pixelCoordinate; /** * 当前位置预警数量 */ - @ExcelProperty(value = "当前位置预警数量") - private Long handleNum; - - /** - * 国土所备注 - */ - @ExcelProperty(value = "国土所备注") - private String territoryRemark; + private Integer handleNum; /** * 地类信息数据 */ - @ExcelProperty(value = "地类信息数据") private String landCategories; - /** - * 相关文件 - */ - @ExcelProperty(value = "相关文件") - private String territoryUrl; - - /** - * 图片 - */ - @ExcelProperty(value = "图片") - private String territoryPath; - /** * 忽略原因 */ - @ExcelProperty(value = "忽略原因") private String ignoringCause; /** * 来源:0:平台 1:小程序 */ - @ExcelProperty(value = "来源:0:平台 1:小程序") - private Long handleSource; - - - /** - * 指派人员 - */ - private String assignUserId; - + private Integer handleSource; /** * 指派人员名称 */ private String assignUserName; - - - /** - * 指派时间 - */ - private Date assignDate; } 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 dc63dbb..3551115 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 @@ -1,11 +1,20 @@ package org.dromara.business.dubbo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.business.api.RemoteBusinessAlertService; +import org.dromara.business.api.domain.bo.RemoteBusinessAlertBo; +import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo; +import org.dromara.business.domain.BusinessAlert; +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.springframework.stereotype.Service; +import java.util.List; + /** * 预警相关服务开放 */ @@ -26,4 +35,25 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic public void updateAlertStatus(String businessId, String flowStatus,Boolean isIllegal,String alertType,String message,String assignName) { businessAlertService.updateAlertStatus(businessId,flowStatus,isIllegal,alertType,message,assignName); } + + /** + * 查询待验证预警 + * @param businessAlertBo + * @return + */ + @Override + public List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo) { + List businessAlerts = businessAlertService.listVerifyAlert(businessAlertBo); + return MapstructUtils.convert(businessAlerts,RemoteBusinessAlertVo.class); + } + + /** + * 根据主键删除 + * @param alertIdList + * @return + */ + @Override + public Boolean deleteAlert(List alertIdList) { + return businessAlertService.deleteAlert(alertIdList); + } } 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 5fd127f..b7329bc 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 @@ -1,7 +1,9 @@ package org.dromara.business.service; +import org.dromara.business.api.domain.bo.RemoteBusinessAlertBo; import org.dromara.business.domain.BusinessAlert; import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.vo.BusinessAlertVo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; @@ -70,4 +72,9 @@ public interface IBusinessAlertService { List> listAlert(BusinessAlertBo businessAlertBo); List> cityListAlert(BusinessAlertBo businessAlertBo); + + List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo); + + Boolean deleteAlert(List alertIdList); + } 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 60ff060..91f1d6f 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 @@ -2,13 +2,17 @@ package org.dromara.business.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.business.api.domain.bo.RemoteBusinessAlertBo; +import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo; import org.dromara.business.domain.BusinessAlert; import org.dromara.business.domain.bo.BusinessAlertBo; +import org.dromara.business.domain.vo.BusinessAlertVo; import org.dromara.business.mapper.BusinessAlertMapper; import org.dromara.business.service.IBusinessAlertService; import org.dromara.common.core.enums.BusinessStatusEnum; @@ -412,6 +416,27 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { return resultList; } + @Override + public List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusinessAlert::getHandleType, BusinessStatusEnum.VERIFY.getStatus()); + wrapper.eq(BusinessAlert::getJobId, businessAlertBo.getJobId()); + return this.baseMapper.selectVoList(wrapper); + } + + @Override + public Boolean deleteAlert(List alertIdList) { + if (ObjectUtil.isEmpty(alertIdList)) { + throw new ServiceException("预警Id为空!"); + } + + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(BusinessAlert::getHandleType,BusinessStatusEnum.VERIFY.getStatus()); + wrapper.in(BusinessAlert::getId, alertIdList); + + return this.baseMapper.delete(wrapper) > 0; + } + public static List getLastSixDays() { List days = new ArrayList<>(7);