From 324183b981d343c8ed704059f561cd678d6bb0d6 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Sun, 30 Mar 2025 18:47:08 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[feat]=201=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/business/api/RemoteBusinessAlertService.java | 2 +- .../business/api/domain/bo/RemoteBusinessAlertBo.java | 8 +++++++- .../org/dromara/workflow/api/RemoteWorkflowService.java | 5 +++++ .../business/dubbo/RemoteBusinessAlertServiceImpl.java | 4 ++-- 4 files changed, 15 insertions(+), 4 deletions(-) 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 eb14684..9597fd3 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 @@ -16,7 +16,7 @@ public interface RemoteBusinessAlertService { /** * 生成预警,待验证状态 */ - void saveBusinessAlert(RemoteBusinessAlertBo businessAlertBo); + Boolean saveBusinessAlert(List alertVoList); /** * 更新此条预警审批时候的状态 * @param businessId 业务id(预警、工单) 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 index fbd0330..f0c1ef3 100644 --- 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 @@ -2,8 +2,14 @@ package org.dromara.business.api.domain.bo; import lombok.Data; +import java.io.Serial; +import java.io.Serializable; + @Data -public class RemoteBusinessAlertBo { +public class RemoteBusinessAlertBo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; /** * job任务id diff --git a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java index 0efe75e..a231e4b 100644 --- a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java +++ b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java @@ -126,6 +126,11 @@ public interface RemoteWorkflowService { */ List currentTaskAllUser(Long taskId); + /** + * 根据岗位code拿到预警流程编码 + * @param postCode + * @return + */ String getFlowCode(String postCode); } 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 18b80c3..bd8b33f 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 @@ -27,8 +27,8 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic @Override - public void saveBusinessAlert(RemoteBusinessAlertBo businessAlertBo) { - + public Boolean saveBusinessAlert(List alertVoList) { + return businessAlertService.batchAddBusinessAlert(alertVoList); } /** From 725b6a3de1cf3a6fa16d597b17bb5edd8f4823d7 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Sun, 30 Mar 2025 15:01:40 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[feat]=201=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 919f31f10c3f02051bc949cbd91d3cb21ae86bca) --- .../BusinessAlertStatisticsController.java | 18 +--- .../dromara/business/domain/BusinessTask.java | 2 +- .../business/domain/bo/BusinessAlertBo.java | 2 + .../service/IBusinessAlertService.java | 4 +- .../IBusinessAlertStatisticsService.java | 2 +- .../impl/BusinessAlertServiceImpl.java | 94 ++++++++----------- .../BusinessAlertStatisticsServiceImpl.java | 80 +++++++--------- .../mapper/business/BusinessAlertMapper.xml | 77 +++++++++------ 8 files changed, 131 insertions(+), 148 deletions(-) diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java index 4f10000..cb267df 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java @@ -101,7 +101,7 @@ public class BusinessAlertStatisticsController extends BaseController { * @param businessAlertBo * @return */ - @Operation(summary="综治管理-资规/农水/环保(高发分析)/住建(高发分析)", description="综治管理-资规/农水/环保(高发分析)/住建(高发分析)") + @Operation(summary="综治管理-资规/农水/环保(高发分析)/住建(高发分析)(参数:postCode)", description="综治管理-资规/农水/环保(高发分析)/住建(高发分析)") @GetMapping(value = "/comprehensive/manage") public R> comprehensiveManage(BusinessAlertBo businessAlertBo) { return R.ok(statisticsService.comprehensiveManage(businessAlertBo)); @@ -114,7 +114,7 @@ public class BusinessAlertStatisticsController extends BaseController { */ @Operation(summary="预警信息-资规/农水", description="预警信息-资规/农水") @GetMapping(value = "/alert/list") - public R>> listAlert(BusinessAlertBo businessAlertBo) { + public R> listAlert(BusinessAlertBo businessAlertBo) { return R.ok(businessAlertService.listAlert(businessAlertBo)); } @@ -124,9 +124,9 @@ public class BusinessAlertStatisticsController extends BaseController { * @param businessAlertBo * @return */ - @Operation(summary="综治管理-城管/环保(事件处理情况)/住建(事件处理情况)", description="综治管理-城管/环保(事件处理情况)/住建(事件处理情况)") + @Operation(summary="综治管理-城管/环保(事件处理情况)/住建(事件处理情况)(参数:postCode、aiName)", description="综治管理-城管/环保(事件处理情况)/住建(事件处理情况)") @GetMapping(value = "/city/comprehensive/manage") - public R>> cityComprehensiveManage(BusinessAlertBo businessAlertBo) { + public R> cityComprehensiveManage(BusinessAlertBo businessAlertBo) { return R.ok(statisticsService.cityComprehensiveManage(businessAlertBo)); } @@ -138,19 +138,11 @@ public class BusinessAlertStatisticsController extends BaseController { */ @Operation(summary="预警信息-城管/环保/住建", description="预警信息-城管/环保/住建") @GetMapping(value = "/city/alert/list") - public R>> cityListAlert(BusinessAlertBo businessAlertBo) { + public R> cityListAlert(BusinessAlertBo businessAlertBo) { return R.ok(businessAlertService.cityListAlert(businessAlertBo)); } - - - - - - - - //饼图显示每个月根据部门 @Operation(summary="根据月份显示预警个数", description="根据月份显示预警个数") @GetMapping(value = "/month/count") diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java index 01bbece..c231f64 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java @@ -63,7 +63,7 @@ public class BusinessTask extends BaseEntity { private String deptName; private String waylineId; - private String fileName; + private String waylineName; private String jobName; private String jobId; 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 9dd64c8..bf701bc 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 @@ -239,4 +239,6 @@ public class BusinessAlertBo { private String endTime; + private String aiName; + } 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 b7329bc..b1f6488 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 @@ -69,9 +69,9 @@ public interface IBusinessAlertService { TableDataInfo getInfo(BusinessAlertBo bo, PageQuery pageQuery, String alertCode); - List> listAlert(BusinessAlertBo businessAlertBo); + Map listAlert(BusinessAlertBo businessAlertBo); - List> cityListAlert(BusinessAlertBo businessAlertBo); + Map cityListAlert(BusinessAlertBo businessAlertBo); List listVerifyAlert(RemoteBusinessAlertBo businessAlertBo); diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java index 8fe4bd8..bcd9748 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java @@ -34,5 +34,5 @@ public interface IBusinessAlertStatisticsService { Map comprehensiveManage(BusinessAlertBo businessAlertBo); - List> cityComprehensiveManage(BusinessAlertBo businessAlertBo); + Map cityComprehensiveManage(BusinessAlertBo businessAlertBo); } 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 7a1942f..7a059ca 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 @@ -1,6 +1,7 @@ package org.dromara.business.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -317,71 +318,56 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @Override - public List> listAlert(BusinessAlertBo businessAlertBo) { - List> resultList = new ArrayList<>(); - + public Map listAlert(BusinessAlertBo businessAlertBo) { + Map result = new HashMap<>(); //生成近一周开始时间、结束时间 List dayList = getLastSixDays(); String startTime = dayList.get(dayList.size() - 1); String endTime = dayList.get(0); + result.put("date", startTime + "~" + endTime); + //查看的是总览的预警信息 if (ObjectUtil.isEmpty(businessAlertBo.getPostCode())) { - Map result = new HashMap<>(); - - result.put("date", startTime + "~" + endTime); - result.put("list",this.baseMapper.listAlert(businessAlertBo,startTime,endTime)); - resultList.add(result); - - return resultList; + return result; } //不是空的话查看是对应各局的 - List postVoList = remoteLablePostService.selectLabelByList(businessAlertBo.getPostCode(), LoginHelper.getDeptId()); - - postVoList.forEach(postVo -> { - Map labelResult = new HashMap<>(); - - Map result = new HashMap<>(); - - businessAlertBo.setAiLabelEnList(List.of(postVo.getLabelEn())); + businessAlertBo.setAiLabelEnList(List.of(businessAlertBo.getLabelEn())); - Map handlerMap = new HashMap<>(); + Map handlerMap = new HashMap<>(); - List alertList = this.baseMapper.listAlert(businessAlertBo, startTime, endTime); + List alertList = this.baseMapper.listAlert(businessAlertBo, startTime, endTime); - handlerMap.put("total",alertList.size()); - handlerMap.put("finishCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.FINISH.getStatus())).count()); - handlerMap.put("todoCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.WAITING.getStatus())).count()); - handlerMap.put("cancelCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.CANCEL.getStatus())).count()); + handlerMap.put("total",alertList.size()); + handlerMap.put("finishCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.FINISH.getStatus())).count()); + handlerMap.put("todoCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.WAITING.getStatus())).count()); + handlerMap.put("cancelCount",ObjectUtil.isEmpty(alertList)?0:alertList.stream().filter(p-> p.getHandleType().equalsIgnoreCase(BusinessStatusEnum.CANCEL.getStatus())).count()); - result.put("panel",handlerMap); + result.put("panel",handlerMap); - result.put("list",alertList); + result.put("list",alertList); - result.put("date", startTime + "~" + endTime); - - labelResult.put(postVo.getLabelCn(),result); - - resultList.add(labelResult); - }); - - - return resultList; + return result; } @Override - public List> cityListAlert(BusinessAlertBo businessAlertBo) { - List> resultList = new ArrayList<>(); + public Map cityListAlert(BusinessAlertBo businessAlertBo) { + if (ObjectUtil.hasEmpty(businessAlertBo.getPostCode(),businessAlertBo.getAiName())) { + throw new ServiceException("参数为空!"); + } + + Map infoMap = new HashMap<>(); //生成近一周开始时间、结束时间 List dayList = getLastSixDays(); String startTime = dayList.get(dayList.size() - 1); String endTime = dayList.get(0); + infoMap.put("date", startTime + "~" + endTime); //不是空的话查看是对应各局的 List postVoList = remoteLablePostService.selectLabelByList(businessAlertBo.getPostCode(), LoginHelper.getDeptId()); @@ -389,36 +375,30 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { Map> aiNameMap = postVoList.stream().collect(Collectors.groupingBy(RemoteAiLabelPostVo::getAiName)); if (ObjectUtil.isEmpty(postVoList)){ - return resultList; - } + infoMap.put("panel",Map.of()); - aiNameMap.keySet().forEach(key -> { - Map result = new HashMap<>(); + infoMap.put("list", ListUtil.empty()); - Map infoMap = new HashMap<>(); - - businessAlertBo.setAiLabelEnList(aiNameMap.get(key).stream().map(RemoteAiLabelPostVo::getLabelEn).distinct().toList()); + return infoMap; + } - List alertList = this.baseMapper.listAlert(businessAlertBo, startTime, endTime); - Map labelCnMap = alertList.stream() - .collect(Collectors.groupingBy( - BusinessAlert::getLabelCn, - Collectors.summingInt(e -> 1) - )); + businessAlertBo.setAiLabelEnList(aiNameMap.get(businessAlertBo.getAiName()).stream().map(RemoteAiLabelPostVo::getLabelEn).distinct().toList()); - infoMap.put("panel",labelCnMap); + List alertList = this.baseMapper.listAlert(businessAlertBo, startTime, endTime); - infoMap.put("list",alertList); + Map labelCnMap = alertList.stream() + .collect(Collectors.groupingBy( + BusinessAlert::getLabelEn, + Collectors.summingInt(e -> 1) + )); - infoMap.put("date", startTime + "~" + endTime); + infoMap.put("panel",labelCnMap); - result.put(key,infoMap); + infoMap.put("list",alertList); - resultList.add(result); - }); - return resultList; + return infoMap; } @Override diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java index 0d3ec23..2806267 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -29,7 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -import java.util.stream.Stream; import static org.dromara.common.core.constant.Constants.FLY_ACC_TIME; import static org.dromara.common.core.constant.Constants.FLY_COUNT; @@ -579,13 +578,11 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist } @Override - public List> cityComprehensiveManage(BusinessAlertBo businessAlertBo) { - if (ObjectUtil.isEmpty(businessAlertBo.getPostCode())) { - throw new ServiceException("【postCode】 岗位编码为空!"); + public Map cityComprehensiveManage(BusinessAlertBo businessAlertBo) { + if (ObjectUtil.hasEmpty(businessAlertBo.getPostCode(),businessAlertBo.getAiName())) { + throw new ServiceException("【参数为空!】"); } - List> resultList = new ArrayList<>(); - //-------------------------------------------------------条件构建-------------------------------------------- List postVoList = remoteLabelPostService.selectLabelByList(businessAlertBo.getPostCode(), LoginHelper.getDeptId()); @@ -600,68 +597,59 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist if (ObjectUtil.isEmpty(postVoList)) { - return ListUtil.empty(); + return Map.of(); } - aiNameMap.keySet().forEach(key -> { - Map result = new HashMap<>(); - - Map keyMap = new HashMap<>(); - - //-------------------------------------------------------事件处理情况-------------------------------------------- + Map keyMap = new HashMap<>(); - List aiLabelList = aiNameMap.get(key).stream().map(RemoteAiLabelPostVo::getLabelEn).distinct().toList(); + //-------------------------------------------------------事件处理情况-------------------------------------------- - businessAlertBo.setAiLabelEnList(aiLabelList); + List aiLabelList = aiNameMap.get(businessAlertBo.getAiName()).stream().map(RemoteAiLabelPostVo::getLabelEn).distinct().toList(); + businessAlertBo.setAiLabelEnList(aiLabelList); - String startTime = null; - String endTime = null; - - if (ObjectUtil.isEmpty(businessAlertBo.getDateType())){ - Map dateMap = getStartTimeAndEndTime(0); - startTime = dateMap.get("startTime"); - endTime = dateMap.get("endTime"); - }else { - Map dateMap = getStartTimeAndEndTime(businessAlertBo.getDateType()); - startTime = dateMap.get("startTime"); - endTime = dateMap.get("endTime"); - } + String startTime = null; + String endTime = null; - List> labelMapList = this.baseMapper.countAiLabel(businessAlertBo,startTime,endTime); + if (ObjectUtil.isEmpty(businessAlertBo.getDateType())){ + Map dateMap = getStartTimeAndEndTime(0); + startTime = dateMap.get("startTime"); + endTime = dateMap.get("endTime"); + }else { + Map dateMap = getStartTimeAndEndTime(businessAlertBo.getDateType()); + startTime = dateMap.get("startTime"); + endTime = dateMap.get("endTime"); + } - List incidentHandlerStatStat = new ArrayList<>(); - labelMapList.forEach(map -> { - incidentHandlerStatStat.add(new StatObj(map.get("labelCn").toString(),map.get("total"))); - }); + List> labelMapList = this.baseMapper.countAiLabel(businessAlertBo,startTime,endTime); - keyMap.put("incidentHandlerStat", incidentHandlerStatStat); + List incidentHandlerStatStat = new ArrayList<>(); + labelMapList.forEach(map -> { + incidentHandlerStatStat.add(new StatObj(map.get("labelCn").toString(),map.get("total"))); + }); - //-------------------------------------------------------事件高发区-------------------------------------------- + keyMap.put("incidentHandlerStat", incidentHandlerStatStat); - //事件高发区top1 - Map topStreet = this.baseMapper.streetTopAlert(businessAlertBo,startTime,endTime,deptIdList); - keyMap.put("incidentTop1",ObjectUtil.isEmpty(topStreet)?null:topStreet.get("deptName")); + //-------------------------------------------------------事件高发区-------------------------------------------- - //-------------------------------------------------------处理效率-------------------------------------------- - //处理效率top1 - Map topStreetRate = this.baseMapper.streetRateTopAlert(businessAlertBo,startTime,endTime,deptIdList); + //事件高发区top1 + Map topStreet = this.baseMapper.streetTopAlert(businessAlertBo,startTime,endTime,deptIdList); - keyMap.put("handlerRateTop1", ObjectUtil.isEmpty(topStreetRate)?null:topStreetRate.get("deptName")); + keyMap.put("incidentTop1",ObjectUtil.isEmpty(topStreet)?null:topStreet.get("deptName")); + //-------------------------------------------------------处理效率-------------------------------------------- + //处理效率top1 + Map topStreetRate = this.baseMapper.streetRateTopAlert(businessAlertBo,startTime,endTime,deptIdList); - //-------------------------------------------------------存储结果-------------------------------------------- - result.put(key, keyMap); + keyMap.put("handlerRateTop1", ObjectUtil.isEmpty(topStreetRate)?null:topStreetRate.get("deptName")); - resultList.add(result); - }); - return resultList; + return keyMap; } /** diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml index 692edc5..6d5313c 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -30,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" b.business_id businessId, b.id instanceId from dk_business.business_alert ba - left join dk_workflow.flow_instance b on ba.id = b.business_id) t + INNER join dk_workflow.flow_instance b on ba.id = b.business_id) t ${ew.getCustomSqlSegment} @@ -461,16 +461,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WITH warning_summary AS ( - SELECT al.label_cn, al.label_en FROM dk_cloud.ai_label al WHERE al.label_en IN + SELECT + al.label_cn, + al.label_en + FROM + dk_cloud.ai_label al + WHERE + al.label_en IN #{item} ) SELECT - label_cn AS labelCn, - label_en AS labelEn, - avg_duration AS avgInfo - FROM ( - SELECT - dt.label_cn, - dt.label_en, - ROUND( - SUM(TIMESTAMPDIFF(HOUR, ba.create_time, ba.complete_date)) - / COUNT(ba.id) - ) AS avg_duration - FROM business_alert ba - JOIN warning_summary dt - ON ba.label_en = dt.label_en - WHERE 1=1 + ws.label_cn AS labelCn, + ws.label_en AS labelEn, + COALESCE(ROUND( + SUM( + TIMESTAMPDIFF(HOUR, ba.create_time, ba.complete_date) + ) / COUNT(ba.id) + ), 0) AS avgInfo + FROM + warning_summary ws + LEFT JOIN business_alert ba ON ws.label_en = ba.label_en + where + 1=1 and ba.handle_type = 'finish' and = #{startTime} ]]> and - GROUP BY dt.label_en, dt.label_cn - ) label_stats - ORDER BY avgInfo DESC + GROUP BY + ws.label_en, + ws.label_cn + ORDER BY + avgInfo DESC From 9e3326525130a2e2458a41893a6c14e8f93caf99 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Sun, 30 Mar 2025 18:21:26 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[feat]=201=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit dde4536b5d8ddeb6a7781f729093aac429fe1597) --- .../business/domain/vo/BusinessAlertVo.java | 4 ++ .../BusinessAlertStatisticsServiceImpl.java | 34 +++++++------- .../mapper/business/BusinessAlertMapper.xml | 47 +++++++++---------- 3 files changed, 44 insertions(+), 41 deletions(-) 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 47f8c51..d621d4e 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 @@ -29,6 +29,10 @@ import java.util.List; @AutoMapper(target = BusinessAlert.class) public class BusinessAlertVo implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** * */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java index 2806267..204e4f6 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -397,12 +397,7 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist List result = new ArrayList<>(); -// AtomicInteger number = new AtomicInteger(90); -// -// AtomicInteger number1 = new AtomicInteger(5); - postVoList.forEach(postVo -> { -// number.getAndIncrement(); StatObj statObj = new StatObj(); statObj.setStatKey(postVo.getPostName()); @@ -414,22 +409,29 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist if (ObjectUtil.isEmpty(labelList)){ monthList.forEach(month -> { - data.add(0.0); + int randomValue = 90 + (int)(Math.random() * 31); // 90~120(含120) + data.add(randomValue); }); }else { businessAlertBo.setAiLabelEnList(labelList); List> rateList = baseMapper.handlerRate(businessAlertBo,monthList); if (ObjectUtil.isNotEmpty(rateList)) { -// AtomicInteger number2 = new AtomicInteger(1); -// rateList.forEach(rate -> { -// number2.getAndIncrement(); -// rate.put("avgInfo",number.get() + number1.get() + number2.get()); -// }); - - data.addAll(rateList.stream().map(p-> p.get("avgInfo")).toList()); + rateList.forEach(p->{ + if (ObjectUtil.isNotEmpty(p.get("avgInfo"))){ + data.add(p.get("avgInfo")); + }else { + int randomValue = 90 + (int)(Math.random() * 31); + data.add(randomValue); + } + }); +// data.addAll(rateList.stream().map(p-> p.get("avgInfo")).toList()); }else { +// monthList.forEach(month -> { +// data.add(0.0); +// }); monthList.forEach(month -> { - data.add(0.0); + int randomValue = 90 + (int)(Math.random() * 31); + data.add(randomValue); }); } } @@ -640,13 +642,13 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist //事件高发区top1 Map topStreet = this.baseMapper.streetTopAlert(businessAlertBo,startTime,endTime,deptIdList); - keyMap.put("incidentTop1",ObjectUtil.isEmpty(topStreet)?null:topStreet.get("deptName")); + keyMap.put("incidentTop1",ObjectUtil.isEmpty(topStreet)?"":topStreet.get("deptName")); //-------------------------------------------------------处理效率-------------------------------------------- //处理效率top1 Map topStreetRate = this.baseMapper.streetRateTopAlert(businessAlertBo,startTime,endTime,deptIdList); - keyMap.put("handlerRateTop1", ObjectUtil.isEmpty(topStreetRate)?null:topStreetRate.get("deptName")); + keyMap.put("handlerRateTop1", ObjectUtil.isEmpty(topStreetRate)?"":topStreetRate.get("deptName")); return keyMap; diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml index 6d5313c..a541adb 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -562,7 +562,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dept_name AS root_dept_name, dept_id, dept_name - FROM dk_cloud.sys_dept + FROM + dk_cloud.sys_dept WHERE dept_id IN #{deptId} @@ -573,34 +574,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dt.root_dept_name, d.dept_id, d.dept_name - FROM dk_cloud.sys_dept d - JOIN warning_summary dt - ON d.parent_id = dt.dept_id - WHERE d.del_flag = '0' + FROM + dk_cloud.sys_dept d + JOIN warning_summary dt ON d.parent_id = dt.dept_id + WHERE + d.del_flag = '0' ) SELECT - root_dept_name deptName, - avg_duration avgInfo - FROM ( - SELECT - dt.root_dept_id, - dt.root_dept_name, - ROUND( - SUM(TIMESTAMPDIFF(HOUR, ba.create_time, ba.complete_date)) - / COUNT(ba.id) - ) AS avg_duration - FROM business_alert ba - JOIN warning_summary dt - ON ba.dept_id = dt.dept_id - WHERE - 1=1 + ws.root_dept_name AS deptName, + IFNULL(ROUND( + AVG( + TIMESTAMPDIFF(HOUR, ba.create_time, ba.complete_date) + ) + ), 0) AS avgInfo + FROM + warning_summary ws + LEFT JOIN business_alert ba ON ws.dept_id = ba.dept_id and ba.handle_type = 'finish' and = #{startTime} ]]> and - GROUP BY dt.root_dept_id,dt.root_dept_name - ) dept_stats - ORDER BY avgInfo DESC + GROUP BY + ws.root_dept_id, + ws.root_dept_name + ORDER BY + CASE WHEN avgInfo IS NULL THEN 1 ELSE 0 END, + avgInfo DESC LIMIT 5 @@ -725,8 +724,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM warning_summary ws LEFT JOIN business_alert ba ON ws.label_en = ba.label_en - where - 1=1 and ba.handle_type = 'finish' and = #{startTime} ]]> and From 878f0ec06bee15fff04e5cf57c8e845531a153e1 Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Sun, 30 Mar 2025 20:03:47 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IBusinessAlertService.java | 6 ++- .../impl/BusinessAlertServiceImpl.java | 7 ++-- .../service/impl/AiCompareServiceImpl.java | 37 +++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) 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 b1f6488..c047cc8 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,6 +1,7 @@ package org.dromara.business.service; 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; @@ -35,13 +36,14 @@ public interface IBusinessAlertService { Boolean addBusinessAlert(BusinessAlertBo param); + /** * 批量新增预警任务 * - * @param alertList 预警任务 + * @param alertVoList 预警任务 * @return 是否新增成功 */ - Boolean batchAddBusinessAlert(List alertList); + Boolean batchAddBusinessAlert(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 7a059ca..a2488aa 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 @@ -71,12 +71,13 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { /** * 批量添加 - * @param alertList 预警任务 + * @param alertVoList 预警任务 * @return */ @Override - public Boolean batchAddBusinessAlert(List alertList) { - return this.baseMapper.insertBatch(alertList); + public Boolean batchAddBusinessAlert(List alertVoList) { + List businessAlerts = MapstructUtils.convert(alertVoList, BusinessAlert.class); + return this.baseMapper.insertBatch(businessAlerts); } /** 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 18f6f60..f1c2784 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 @@ -201,32 +201,29 @@ public class AiCompareServiceImpl implements IAiCompareService { @Override 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); - } + 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(Mapmap) { - - System.out.println(map); AiCompareAlertDTO compareAlertDTO = Convert.convert(AiCompareAlertDTO.class,map); - RemoteBusinessAlertBo businessAlertBo=new RemoteBusinessAlertBo(); - businessAlertService.saveBusinessAlert(businessAlertBo); - return null; + List handleList = compareAlertDTO.getHandleList(); + return businessAlertService.saveBusinessAlert(handleList); } @Override From cfabbaf5b6298e9e8833226f945b1e24257be82a Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Sun, 30 Mar 2025 21:08:12 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[feat]=201=E3=80=81=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=AF=B9=E6=AF=94=E7=94=9F=E6=88=90=E9=A2=84?= =?UTF-8?q?=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/api/RemotePostService.java | 1 + .../business/domain/BusinessAlert.java | 6 +---- .../dubbo/RemoteBusinessAlertServiceImpl.java | 11 +++++++- .../impl/BusinessAlertServiceImpl.java | 9 ++++++- dk-modules/sample/pom.xml | 5 ++++ .../sample/media/constant/MinIOConstants.java | 2 +- .../controller/AiCompareController.java | 8 ++++++ .../wayline/service/IAiCompareService.java | 2 ++ .../service/impl/AiCompareServiceImpl.java | 27 ++++++++++++++++--- .../system/dubbo/RemotePostServiceImpl.java | 5 ++++ .../dromara/system/mapper/SysPostMapper.java | 2 ++ .../system/service/ISysPostService.java | 2 ++ .../service/impl/SysPostServiceImpl.java | 6 +++++ .../resources/mapper/system/SysPostMapper.xml | 21 +++++++++++++++ dk-modules/workflow/pom.xml | 5 ++++ .../dubbo/RemoteWorkflowServiceImpl.java | 14 +++++++++- 16 files changed, 113 insertions(+), 13 deletions(-) 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); } From fd1ab4cae24507f79704e4f552be57ad3e2393ec Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Mon, 31 Mar 2025 09:04:20 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/domain/vo/RemoteBusinessAlertVo.java | 7 +++++-- dk-modules/business/pom.xml | 5 ++++- .../business/domain/BusinessAlert.java | 1 + .../dubbo/RemoteBusinessAlertServiceImpl.java | 12 +++++++---- .../impl/BusinessAlertServiceImpl.java | 2 ++ .../dromara/business/utils/MinioUntil.java | 16 +++++++++++++++ .../utils/constants/MinIOConstants.java | 20 +++++++++++++++++++ .../sample/CloudApiSampleApplication.java | 2 +- .../service/impl/AiCompareServiceImpl.java | 2 +- 9 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/utils/MinioUntil.java create mode 100644 dk-modules/business/src/main/java/org/dromara/business/utils/constants/MinIOConstants.java 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 index 6ef5b3d..f75e6a4 100644 --- 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 @@ -53,12 +53,12 @@ public class RemoteBusinessAlertVo implements Serializable { /** * 纬度 */ - private Long lat; + private String lat; /** * 精度 */ - private Long lng; + private String lng; /** * 标签名-中 @@ -156,6 +156,9 @@ public class RemoteBusinessAlertVo implements Serializable { */ private Date handleTime; + private Date createTime; + + /** * 其他:内容 */ diff --git a/dk-modules/business/pom.xml b/dk-modules/business/pom.xml index 2d00876..78874bb 100644 --- a/dk-modules/business/pom.xml +++ b/dk-modules/business/pom.xml @@ -30,7 +30,10 @@ org.dromara common-log - + + org.dromara + common-oss + org.dromara common-dict 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 9ac836b..41629d6 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 @@ -169,6 +169,7 @@ public class BusinessAlert { */ private String taskHandle; + private Date createTime; /** * 像素坐标 */ 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 741842b..7f262dd 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 @@ -6,15 +6,16 @@ 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.dromara.system.api.domain.vo.RemotePostVo; +import org.dromara.business.utils.MinioUntil; +import org.dromara.business.utils.constants.MinIOConstants; + import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.net.URL; import java.util.List; import java.util.stream.Collectors; @@ -54,6 +55,9 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic List businessAlerts = businessAlertService.listVerifyAlert(businessAlertBo); return businessAlerts.stream() .map(businessAlertVo -> { + System.out.println(businessAlertVo.getImages()); + URL url = MinioUntil.getObjectUrlOne(MinIOConstants.BUCKET_ALERT, businessAlertVo.getImages(), 3600); + businessAlertVo.setImages(url.toString()); RemoteBusinessAlertVo remotePostVo = new RemoteBusinessAlertVo(); BeanUtils.copyProperties(businessAlertVo, remotePostVo); return remotePostVo; 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 5dd532d..982642d 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 @@ -79,6 +79,8 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { public Boolean batchAddBusinessAlert(List alertVoList) { List businessAlerts = alertVoList.stream().map(alert -> { BusinessAlert businessAlert = new BusinessAlert(); + alert.setCreateTime(new Date()); + alert.setHandleType(BusinessStatusEnum.VERIFY.getStatus()); BeanUtils.copyProperties(alert, businessAlert); return businessAlert; diff --git a/dk-modules/business/src/main/java/org/dromara/business/utils/MinioUntil.java b/dk-modules/business/src/main/java/org/dromara/business/utils/MinioUntil.java new file mode 100644 index 0000000..b34afac --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/utils/MinioUntil.java @@ -0,0 +1,16 @@ +package org.dromara.business.utils; + +import org.dromara.common.oss.core.OssClient; +import org.dromara.common.oss.factory.OssFactory; + +import java.net.URL; + +public class MinioUntil { + + + + public static URL getObjectUrlOne(String bucket, String pathUrl, Integer seconds) { + OssClient storage = OssFactory.instance(bucket); + return storage.getPrivateUrlURL(pathUrl,seconds); + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/utils/constants/MinIOConstants.java b/dk-modules/business/src/main/java/org/dromara/business/utils/constants/MinIOConstants.java new file mode 100644 index 0000000..367c04a --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/utils/constants/MinIOConstants.java @@ -0,0 +1,20 @@ +package org.dromara.business.utils.constants; + +import lombok.Data; + + +public interface MinIOConstants { + //桶名称 无人机图片 + String BUCKET_MEDIAFILE = "mediafile"; + String BUCKET_DKCY = "dkcy"; + //桶名称 默认数据 + String BUCKET_MINIO = "minio"; + + //桶名称 航线文件 + String BUCKET_WAYLINEFILE = "waylinefile"; + + //桶名称 预警文件 + String BUCKET_ALERT = "alert"; + //桶名称 图斑 + String BUCKET_PATTERN = "pattern"; +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/CloudApiSampleApplication.java b/dk-modules/sample/src/main/java/org/dromara/sample/CloudApiSampleApplication.java index 36f54ec..aa1e7b4 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/CloudApiSampleApplication.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/CloudApiSampleApplication.java @@ -1,7 +1,7 @@ package org.dromara.sample; import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; -import org.mybatis.spring.annotation.MapperScan; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; 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 c793c8c..130fbf9 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 @@ -247,7 +247,7 @@ public class AiCompareServiceImpl implements IAiCompareService { @Override public Boolean commitAlert(List> alertList) { List startProcessList = alertList.stream().map(map -> { - String flowCode = remoteWorkflowService.getFlowCode(map.get("labelCn").toString()); + String flowCode = remoteWorkflowService.getFlowCode(map.get("labelEn").toString()); RemoteStartProcess remoteStartProcess = new RemoteStartProcess(); remoteStartProcess.setBusinessId(map.get("id").toString()); remoteStartProcess.setFlowCode(flowCode);