update 事件总线采用kafka、workflow集成kafka、workflow查询报错处理

master
yinq 3 months ago
parent 3c8e469d42
commit 9f028495fa

@ -17,15 +17,15 @@
<dependencies> <dependencies>
<!-- rabbitmq --> <!-- rabbitmq -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<!-- kafka -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>--> <!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-bus-kafka</artifactId>--> <!-- <artifactId>spring-cloud-starter-bus-amqp</artifactId>-->
<!-- </dependency>--> <!-- </dependency>-->
<!-- kafka -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-kafka</artifactId>
</dependency>
<!-- rocketmq --> <!-- rocketmq -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.alibaba.cloud</groupId>--> <!-- <groupId>com.alibaba.cloud</groupId>-->

@ -522,7 +522,12 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
if (CollUtil.isNotEmpty(subTasks)) { if (CollUtil.isNotEmpty(subTasks)) {
subTasks.forEach(e -> taskService.deleteTask(e.getId())); subTasks.forEach(e -> taskService.deleteTask(e.getId()));
} }
runtimeService.bulkDeleteProcessInstances(processInstanceIds, LoginHelper.getUserId() + "删除了当前流程申请"); try {
//删除流程ACT_RU_EXECUTION中无数据报错
runtimeService.bulkDeleteProcessInstances(processInstanceIds, LoginHelper.getUserId() + "删除了当前流程申请");
} catch (Exception e) {
log.error("删除了当前流程申请:" + e.getMessage(), e);
}
// 2.删除历史记录 // 2.删除历史记录
List<HistoricProcessInstance> historicProcessInstanceList = QueryUtils.hisInstanceQuery(new HashSet<>(processInstanceIds)).list(); List<HistoricProcessInstance> historicProcessInstanceList = QueryUtils.hisInstanceQuery(new HashSet<>(processInstanceIds)).list();
if (ObjectUtil.isNotEmpty(historicProcessInstanceList)) { if (ObjectUtil.isNotEmpty(historicProcessInstanceList)) {

@ -270,7 +270,11 @@ public class ActTaskServiceImpl implements IActTaskService {
queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus()); queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus());
queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId()); queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId());
String ids = StreamUtils.join(roleIds, x -> "'" + x + "'"); String ids = StreamUtils.join(roleIds, x -> "'" + x + "'");
queryWrapper.and(w1 -> w1.eq("t.assignee_", userId).or(w2 -> w2.isNull("t.assignee_").apply("exists ( select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TASK_ID_ = t.ID_ and LINK.TYPE_ = 'candidate' and (LINK.USER_ID_ = {0} or ( LINK.GROUP_ID_ IN (" + ids + ") ) ))", userId))); if (StringUtils.isEmpty(ids)) {
queryWrapper.and(w1 -> w1.eq("t.assignee_", userId).or(w2 -> w2.isNull("t.assignee_").apply("exists ( select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TASK_ID_ = t.ID_ and LINK.TYPE_ = 'candidate' and (LINK.USER_ID_ = {0} ))", userId)));
} else {
queryWrapper.and(w1 -> w1.eq("t.assignee_", userId).or(w2 -> w2.isNull("t.assignee_").apply("exists ( select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TASK_ID_ = t.ID_ and LINK.TYPE_ = 'candidate' and (LINK.USER_ID_ = {0} or ( LINK.GROUP_ID_ IN (" + ids + ") ) ))", userId)));
}
if (StringUtils.isNotBlank(taskBo.getName())) { if (StringUtils.isNotBlank(taskBo.getName())) {
queryWrapper.like("t.name_", taskBo.getName()); queryWrapper.like("t.name_", taskBo.getName());
} }
@ -370,6 +374,7 @@ public class ActTaskServiceImpl implements IActTaskService {
queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName()); queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName());
queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey()); queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey());
queryWrapper.eq("t.assignee_", userId); queryWrapper.eq("t.assignee_", userId);
queryWrapper.orderByAsc("t.ID_");
Page<TaskVo> page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper); Page<TaskVo> page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper);
List<TaskVo> taskList = page.getRecords(); List<TaskVo> taskList = page.getRecords();
@ -406,6 +411,7 @@ public class ActTaskServiceImpl implements IActTaskService {
queryWrapper.eq("t.processDefinitionKey", taskBo.getProcessDefinitionKey()); queryWrapper.eq("t.processDefinitionKey", taskBo.getProcessDefinitionKey());
} }
queryWrapper.eq("t.assignee_", userId); queryWrapper.eq("t.assignee_", userId);
queryWrapper.orderByAsc("t.ID_");
Page<TaskVo> page = actTaskMapper.getTaskCopyByPage(pageQuery.build(), queryWrapper); Page<TaskVo> page = actTaskMapper.getTaskCopyByPage(pageQuery.build(), queryWrapper);
List<TaskVo> taskList = page.getRecords(); List<TaskVo> taskList = page.getRecords();
@ -434,6 +440,7 @@ public class ActTaskServiceImpl implements IActTaskService {
queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName()); queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName());
queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName()); queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName());
queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey()); queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey());
queryWrapper.orderByAsc("t.ID_");
Page<TaskVo> page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper); Page<TaskVo> page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper);
List<TaskVo> taskList = page.getRecords(); List<TaskVo> taskList = page.getRecords();

@ -76,6 +76,7 @@ public class WfFormManageServiceImpl implements IWfFormManageService {
LambdaQueryWrapper<WfFormManage> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<WfFormManage> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getFormName()), WfFormManage::getFormName, bo.getFormName()); lqw.like(StringUtils.isNotBlank(bo.getFormName()), WfFormManage::getFormName, bo.getFormName());
lqw.eq(StringUtils.isNotBlank(bo.getFormType()), WfFormManage::getFormType, bo.getFormType()); lqw.eq(StringUtils.isNotBlank(bo.getFormType()), WfFormManage::getFormType, bo.getFormType());
lqw.orderByAsc(WfFormManage::getFormName);
return lqw; return lqw;
} }

@ -10,6 +10,36 @@ spring:
profiles: profiles:
# 环境配置 # 环境配置
active: @profiles.active@ active: @profiles.active@
kafka:
bootstrap-servers: 119.45.202.115:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
consumer:
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
properties:
spring.json.trusted.packages: "*"
cloud:
bus:
enabled: true
trace:
enabled: true
kafka:
binder:
brokers: 119.45.202.115:9092
auto-create-topics: true
configuration:
key.serializer: org.apache.kafka.common.serialization.StringSerializer
value.serializer: org.springframework.kafka.support.serializer.JsonSerializer
key.deserializer: org.apache.kafka.common.serialization.StringDeserializer
value.deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
spring.json.trusted.packages: "*"
acks: all
retries: 3
batch.size: 16384
linger.ms: 1
buffer.memory: 33554432
--- # nacos 配置 --- # nacos 配置
spring: spring:

Loading…
Cancel
Save