diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDepartBoundaryService.java b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDepartBoundaryService.java new file mode 100644 index 0000000..beab0f2 --- /dev/null +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDepartBoundaryService.java @@ -0,0 +1,9 @@ +package org.dromara.system.api; + +import org.dromara.system.api.domain.vo.RemoteSysDepartBoundaryVo; + +import java.util.List; + +public interface RemoteDepartBoundaryService { + List listDepartBoundaryByLngAndLat(Double lng, Double lat); +} diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSysDepartBoundaryVo.java b/dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSysDepartBoundaryVo.java new file mode 100644 index 0000000..fb7cc42 --- /dev/null +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSysDepartBoundaryVo.java @@ -0,0 +1,54 @@ +package org.dromara.system.api.domain.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +@Data +@NoArgsConstructor +public class RemoteSysDepartBoundaryVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + private Long id; + /**机构ID*/ + private Long deptId; + + /**机构/部门名称*/ + private String deptName; + + /**部门全路径*/ + private String namePath; + + /**边界*/ + private String boundary; + + /** + * 区域类别 areaType: 0:市级 1:区级(县) 2:镇级(街道) 3:村级 + */ + private Integer areaType; + + /** + * 父类id + */ + private Long parentId; + + /**删除状态(0,正常,1已删除)*/ + private String delFlag; + + + private List deptIds; + + + + + + + + + + +} 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 91ad10d..967c377 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 @@ -49,10 +49,7 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.resource.api.RemoteMessageService; import org.dromara.system.api.*; import org.dromara.system.api.domain.bo.RemoteNoticeBo; -import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo; -import org.dromara.system.api.domain.vo.RemoteDeptVo; -import org.dromara.system.api.domain.vo.RemotePostVo; -import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.dromara.system.api.domain.vo.*; import org.dromara.business.domain.BusinessAlertConstructInfoOss; import org.dromara.business.mapper.BusinessAlertConstructInfoOssMapper; import org.dromara.system.api.model.RoleDTO; @@ -140,7 +137,8 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @DubboReference(timeout = 30000) RemoteDataScopeService remoteDataScopeService; - + @DubboReference(timeout = 30000) + RemoteDepartBoundaryService remoteDepartBoundaryService; /** * 新增预警任务 * @@ -282,7 +280,7 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { */ @Override public Boolean batchAddBusinessAlert(List alertVoList, String activeProfile, Long pushDeptId) { - List businessAlerts = alertVoList.stream().map(alert -> { + List businessAlerts = alertVoList.parallelStream().map(alert -> { BusinessAlert businessAlert = new BusinessAlert(); alert.setCreateTime(new Date()); alert.setHandleType(BusinessStatusEnum.VERIFY.getStatus()); @@ -300,7 +298,13 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { //查询历史预警 List businessAlertList = this.listHandleHistory(alert.getLng(), alert.getLat(), DateUtils.parseDateToStr(FormatsType.YYYY_MM_DD_HH_MM_SS, alert.getCreateTime())); businessAlert.setHandleNum(businessAlertList.size()); - + //查询预警所在的部门 + List boundaryVoList = remoteDepartBoundaryService.listDepartBoundaryByLngAndLat(Convert.toDouble(alert.getLng()), Convert.toDouble(alert.getLat())); + if(!boundaryVoList.isEmpty()){ + RemoteSysDepartBoundaryVo boundaryVo = boundaryVoList.get(boundaryVoList.size() - 1); + businessAlert.setDeptId(Convert.toStr(boundaryVo.getDeptId())); + businessAlert.setDeptName(boundaryVo.getDeptName()); + } return businessAlert; }).toList(); 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 0e4b2b4..dfe9d9d 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 @@ -189,11 +189,12 @@ public class AiCompareController extends BaseController { /** * * 删除验证列表预警 - * @param ids 主键串 + * @param ids 主键 * * */ @SaCheckPermission("sample:compare:delAlertList") @DeleteMapping("/delAlertList") public R delAlertList(Long ids) { + return toAjax(aiCompareService.delAlertList(List.of(ids))); } 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 dae7a03..a385aa4 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 @@ -30,7 +30,7 @@ public interface IAiCompareService { Boolean pictureFrame(MapobjectMap); Boolean expose(List> mapList); Boolean alert(Mapmap); - + AiCompareEntity selectById(Long id); List alertList(String jobId); Boolean delAlertList(Listids); 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 278ea2c..e299446 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 @@ -97,7 +97,8 @@ public class AiCompareServiceImpl implements IAiCompareService { .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, - "create_time", params.get("beginTime"), params.get("endTime")).orderByDesc("create_time"); + "create_time", params.get("beginTime"), params.get("endTime")).orderByDesc("create_time") + .gt(ObjectUtil.isNotEmpty(bo.getCreateTime()),"create_time",bo.getCreateTime()); return wrapper; } @Override @@ -444,6 +445,11 @@ public class AiCompareServiceImpl implements IAiCompareService { return businessAlertService.saveBusinessAlert(handleList,"default"); } + @Override + public AiCompareEntity selectById(Long id) { + return aiCompareMapper.selectById(id); + } + @Override public List alertList(String jobId) { RemoteBusinessAlertBo businessAlertBo = new RemoteBusinessAlertBo(); @@ -453,6 +459,13 @@ public class AiCompareServiceImpl implements IAiCompareService { @Override public Boolean delAlertList(List ids) { + + /* AiCompareEntity aiCompareEntity =aiCompareMapper.selectById(compareId); + aiCompareEntity.setStatus(AiCompareStatusConstants.COMPARE_STATUS_4); + List alertList = alertList(aiCompareEntity.getJobId()); + if(alertList.isEmpty()){ + aiCompareMapper.updateById(aiCompareEntity); + }*/ return businessAlertService.deleteAlert(ids); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDepartBoundaryServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDepartBoundaryServiceImpl.java new file mode 100644 index 0000000..f616e51 --- /dev/null +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDepartBoundaryServiceImpl.java @@ -0,0 +1,31 @@ +package org.dromara.system.dubbo; + +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.system.api.RemoteDepartBoundaryService; +import org.dromara.system.api.domain.vo.RemoteSocialVo; +import org.dromara.system.api.domain.vo.RemoteSysDepartBoundaryVo; +import org.dromara.system.domain.SysDepartBoundary; +import org.dromara.system.domain.vo.SysSocialVo; +import org.dromara.system.service.ISysDepartBoundaryService; +import org.dromara.system.service.ISysDeptService; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static kotlin.reflect.jvm.internal.impl.builtins.StandardNames.FqNames.list; + +@RequiredArgsConstructor +@Service +@DubboService +public class RemoteDepartBoundaryServiceImpl implements RemoteDepartBoundaryService { + + private final ISysDepartBoundaryService sysDepartBoundaryService; + + @Override + public List listDepartBoundaryByLngAndLat(Double lng, Double lat) { + List boundaryList = sysDepartBoundaryService.listDepartBoundaryByLngAndLat(lng, lat); + return MapstructUtils.convert(boundaryList, RemoteSysDepartBoundaryVo.class); + } +}