Browse Source

[feat]

1、增加公共spring-cloud-bus配置
2、修改预警统计sql
master
杨威 3 months ago
parent
commit
47e7f11825
  1. 3
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java
  2. 34
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java
  3. 5
      dk-modules/workflow/pom.xml
  4. 18
      dk-modules/workflow/src/main/java/org/dromara/workflow/common/constant/MinIOConstants.java
  5. 13
      dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java
  6. 14
      dk-modules/workflow/src/main/java/org/dromara/workflow/utils/MinioUntil.java

3
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java

@ -300,7 +300,8 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
if (ObjectUtil.isNotEmpty(bo.getPostCode())){ if (ObjectUtil.isNotEmpty(bo.getPostCode())){
//根据当前用户职能获取识别类型 //根据当前用户职能获取识别类型
List<RemoteAiLabelPostVo> postVoList = remoteLablePostService.selectLabelByList(bo.getPostCode(), LoginHelper.getDeptId()); // List<RemoteAiLabelPostVo> postVoList = remoteLablePostService.selectLabelByList(bo.getPostCode(), LoginHelper.getDeptId());
List<RemoteAiLabelPostVo> postVoList = remoteLablePostService.selectLabelByList(bo.getPostCode(), null);
if (ObjectUtil.isEmpty(postVoList)) { if (ObjectUtil.isEmpty(postVoList)) {
return null; return null;

34
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java

@ -316,14 +316,11 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
return ListUtil.empty(); return ListUtil.empty();
} }
AtomicInteger number = new AtomicInteger(1);
postVoList.forEach(postVo -> { postVoList.forEach(postVo -> {
List<String> labelList = getAiLabel(postVo.getPostCode()).stream().map(RemoteAiLabelPostVo::getLabelEn).collect(Collectors.toList()); List<String> labelList = getAiLabel(postVo.getPostCode()).stream().map(RemoteAiLabelPostVo::getLabelEn).collect(Collectors.toList());
businessAlertBo.setAiLabelEnList(labelList); businessAlertBo.setAiLabelEnList(labelList);
Map<String, Object> dayMap = this.baseMapper.countCurrentDayAlert(businessAlertBo); Map<String, Object> dayMap = this.baseMapper.countCurrentDayAlert(businessAlertBo);
number.getAndIncrement(); result.add(new StatObj(postVo.getPostName(), dayMap.get("total")));
result.add(new StatObj(postVo.getPostName(), ObjectUtil.isEmpty(dayMap.get("total"))? number.get() + 1:dayMap.get("total")));
}); });
return result; return result;
@ -358,11 +355,7 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
endTime = dateMap.get("endTime"); endTime = dateMap.get("endTime");
} }
AtomicInteger number = new AtomicInteger(1);
postVoList.forEach(postVo -> { postVoList.forEach(postVo -> {
number.getAndIncrement();
List<String> labelList = getAiLabel(postVo.getPostCode()).stream().map(RemoteAiLabelPostVo::getLabelEn).collect(Collectors.toList()); List<String> labelList = getAiLabel(postVo.getPostCode()).stream().map(RemoteAiLabelPostVo::getLabelEn).collect(Collectors.toList());
Map<String, Object> dateMap = new HashMap<>(); Map<String, Object> dateMap = new HashMap<>();
if (ObjectUtil.isEmpty(labelList)) { if (ObjectUtil.isEmpty(labelList)) {
@ -375,8 +368,8 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
result.add(new StatObj( result.add(new StatObj(
postVo.getPostName(), postVo.getPostName(),
ObjectUtil.isEmpty(dateMap.get("todoCount"))?number.get() + 1:dateMap.get("todoCount"), dateMap.get("todoCount"),
ObjectUtil.isEmpty(dateMap.get("finishCount"))?number.get() + 2:dateMap.get("finishCount") dateMap.get("finishCount")
)); ));
}); });
@ -409,29 +402,16 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
if (ObjectUtil.isEmpty(labelList)){ if (ObjectUtil.isEmpty(labelList)){
monthList.forEach(month -> { monthList.forEach(month -> {
int randomValue = 90 + (int)(Math.random() * 31); // 90~120(含120) data.add(0.0);
data.add(randomValue);
}); });
}else { }else {
businessAlertBo.setAiLabelEnList(labelList); businessAlertBo.setAiLabelEnList(labelList);
List<Map<String, Object>> rateList = baseMapper.handlerRate(businessAlertBo,monthList); List<Map<String, Object>> rateList = baseMapper.handlerRate(businessAlertBo,monthList);
if (ObjectUtil.isNotEmpty(rateList)) { if (ObjectUtil.isNotEmpty(rateList)) {
rateList.forEach(p->{ data.addAll(rateList.stream().map(p-> p.get("avgInfo")).toList());
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 { }else {
// monthList.forEach(month -> {
// data.add(0.0);
// });
monthList.forEach(month -> { monthList.forEach(month -> {
int randomValue = 90 + (int)(Math.random() * 31); data.add(0.0);
data.add(randomValue);
}); });
} }
} }
@ -696,6 +676,6 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
} }
private List<RemoteAiLabelPostVo> getAiLabel(String postCode) { private List<RemoteAiLabelPostVo> getAiLabel(String postCode) {
return remoteLabelPostService.selectLabelByList(postCode,LoginHelper.getDeptId()); return remoteLabelPostService.selectLabelByList(postCode,null);
} }
} }

5
dk-modules/workflow/pom.xml

@ -54,6 +54,11 @@
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>common-log</artifactId> <artifactId>common-log</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>common-oss</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>common-idempotent</artifactId> <artifactId>common-idempotent</artifactId>

18
dk-modules/workflow/src/main/java/org/dromara/workflow/common/constant/MinIOConstants.java

@ -0,0 +1,18 @@
package org.dromara.workflow.common.constant;
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";
}

13
dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java

@ -36,6 +36,7 @@ import org.dromara.warm.flow.orm.entity.FlowTask;
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper; import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper; import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper;
import org.dromara.workflow.common.ConditionalOnEnable; import org.dromara.workflow.common.ConditionalOnEnable;
import org.dromara.workflow.common.constant.MinIOConstants;
import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.common.enums.TaskStatusEnum;
import org.dromara.workflow.domain.bo.FlowCancelBo; import org.dromara.workflow.domain.bo.FlowCancelBo;
import org.dromara.workflow.domain.bo.FlowInstanceBo; import org.dromara.workflow.domain.bo.FlowInstanceBo;
@ -48,6 +49,7 @@ import org.dromara.workflow.mapper.FlwCategoryMapper;
import org.dromara.workflow.mapper.FlwInstanceMapper; import org.dromara.workflow.mapper.FlwInstanceMapper;
import org.dromara.workflow.service.IFlwInstanceService; import org.dromara.workflow.service.IFlwInstanceService;
import org.dromara.workflow.service.IFlwTaskService; import org.dromara.workflow.service.IFlwTaskService;
import org.dromara.workflow.utils.MinioUntil;
import org.dromara.workflow.utils.WorkflowUtils; import org.dromara.workflow.utils.WorkflowUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -322,6 +324,17 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class)); list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class));
} }
String flowChart = chartService.chartIns(instanceId); String flowChart = chartService.chartIns(instanceId);
list.forEach(flowHisTaskVo -> {
if (ObjectUtil.isNotNull(flowHisTaskVo.getExt())) {
String[] extArr = flowHisTaskVo.getExt().split(",");
StringBuilder sb = new StringBuilder();
Arrays.asList(extArr).forEach(ext->{
sb.append(MinioUntil.getObjectUrlOne(MinIOConstants.BUCKET_MINIO, ext, 3600).toString()).append(",");
});
flowHisTaskVo.setExt(sb.toString());
}
});
return Map.of("list", list, "image", flowChart); return Map.of("list", list, "image", flowChart);
} }

14
dk-modules/workflow/src/main/java/org/dromara/workflow/utils/MinioUntil.java

@ -0,0 +1,14 @@
package org.dromara.workflow.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);
}
}
Loading…
Cancel
Save