diff --git a/common/common-botp/pom.xml b/common/common-botp/pom.xml index 1fc7b12..f121380 100644 --- a/common/common-botp/pom.xml +++ b/common/common-botp/pom.xml @@ -17,17 +17,17 @@ apelet common-core - 1.0.0 + ${common-core.version} apelet common-generator - 1.0.3 + 1.0.5 apelet common-online - 1.0.3 + 1.0.6 compile diff --git a/common/common-flow/src/main/java/apelet/common/flow/service/FlowEntryService.java b/common/common-flow/src/main/java/apelet/common/flow/service/FlowEntryService.java index a21c89f..5d62b08 100644 --- a/common/common-flow/src/main/java/apelet/common/flow/service/FlowEntryService.java +++ b/common/common-flow/src/main/java/apelet/common/flow/service/FlowEntryService.java @@ -79,6 +79,16 @@ public interface FlowEntryService extends IBaseService { */ FlowEntry getFlowEntryFromCache(String processDefinitionKey); + + /** + * 根据流程定义标识获取流程对象。从缓存中读取,如不存在则从数据库读取后,再同步到缓存。 + * + * @param processDefinitionKey 流程定义标识。 + * @param isToken 是否存在登录态 + * @return 流程对象。 + */ + FlowEntry getFlowEntryFromCache(String processDefinitionKey ,Boolean isToken); + /** * 根据流程Id获取流程发布列表数据。 * diff --git a/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowEntryServiceImpl.java b/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowEntryServiceImpl.java index 9642c75..602db84 100644 --- a/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowEntryServiceImpl.java +++ b/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowEntryServiceImpl.java @@ -240,10 +240,21 @@ public class FlowEntryServiceImpl extends BaseService implement @Override public FlowEntry getFlowEntryFromCache(String processDefinitionKey) { + return getFlowEntryFromCache(processDefinitionKey, true); + } + + @Override + public FlowEntry getFlowEntryFromCache(String processDefinitionKey, Boolean isToken) { String key = FlowRedisKeyUtil.makeFlowEntryKey(processDefinitionKey); LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.eq(FlowEntry::getProcessDefinitionKey, processDefinitionKey); + if (Boolean.FALSE.equals(isToken)) { + return commonRedisUtil.getFromCacheWithQueryWrapper(key, qw, flowEntryMapper::selectOne, FlowEntry.class); + } TokenData tokenData = TokenData.takeFromRequest(); + if (tokenData == null) { + return null; + } if (StrUtil.isNotBlank(tokenData.getAppCode())) { qw.eq(FlowEntry::getAppCode, tokenData.getAppCode()); } else { diff --git a/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowTaskTitleBackfillServiceImpl.java b/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowTaskTitleBackfillServiceImpl.java index eab2a97..4e01c45 100644 --- a/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowTaskTitleBackfillServiceImpl.java +++ b/common/common-flow/src/main/java/apelet/common/flow/service/impl/FlowTaskTitleBackfillServiceImpl.java @@ -11,12 +11,7 @@ import apelet.common.flow.model.FlowTaskExt; import apelet.common.flow.model.FlowTaskInstanceExt; import apelet.common.flow.model.FlowWorkOrder; import apelet.common.flow.model.constant.FlowBindFormType; -import apelet.common.flow.service.FlowApiService; -import apelet.common.flow.service.FlowEntryService; -import apelet.common.flow.service.FlowTaskExtService; -import apelet.common.flow.service.FlowTaskInstanceExtService; -import apelet.common.flow.service.FlowTaskTitleBackfillService; -import apelet.common.flow.service.FlowWorkOrderService; +import apelet.common.flow.service.*; import apelet.common.flow.vo.FlowTaskTitleBackfillVo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.BooleanUtil; @@ -30,11 +25,7 @@ import org.flowable.task.api.history.HistoricTaskInstance; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * 节点标题回填服务实现。 @@ -84,7 +75,7 @@ public class FlowTaskTitleBackfillServiceImpl implements FlowTaskTitleBackfillSe result.setDryRun(onlyCount); // 回填是没有登录态的运维动作,且要跨租户跑;关掉数据权限过滤, // 否则 getMasterData -> buildDataPermFilter -> processDataPerm 会因 TokenData 为空而 NPE。 - boolean dataFilterEnabled = GlobalThreadLocal.setDataFilter(false); + boolean dataFilterEnabled = false; try { List workOrderList = flowWorkOrderService.getListByWorkOrderIdAfter(cursorWorkOrderId, size); for (FlowWorkOrder workOrder : workOrderList) { @@ -113,8 +104,10 @@ public class FlowTaskTitleBackfillServiceImpl implements FlowTaskTitleBackfillSe if (StrUtil.isBlank(processInstanceId)) { return; } - FlowEntry flowEntry = StrUtil.isBlank(workOrder.getProcessDefinitionKey()) ? null - : flowEntryService.getFlowEntryFromCache(workOrder.getProcessDefinitionKey()); + if (StrUtil.isBlank(workOrder.getProcessDefinitionKey())) { + return; + } + FlowEntry flowEntry = flowEntryService.getFlowEntryFromCache(workOrder.getProcessDefinitionKey(), false); // 路由表单流程本来就没有标题,跳过 if (flowEntry == null || !ObjectUtil.equal(flowEntry.getBindFormType(), FlowBindFormType.ONLINE_FORM)) { return; diff --git a/common/pom.xml b/common/pom.xml index d79f21d..a2c592f 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -24,6 +24,8 @@ common-openapi common-core + + common-botp diff --git a/pom.xml b/pom.xml index 147aa5f..0a0aebf 100644 --- a/pom.xml +++ b/pom.xml @@ -138,13 +138,13 @@ nexus nexus - http://58.48.135.45:8081/repository/maven-releases/ + http://192.168.100.25:8081/repository/maven-releases/ maven-snapshots maven-snapshots - http://58.48.135.45:8081/repository/maven-snapshots/ + http://192.168.100.25:8081/repository/maven-snapshots/