From d535271c89bc8f2756beb2c2fc1a28a63ffd54d8 Mon Sep 17 00:00:00 2001 From: lbw Date: Wed, 13 Sep 2023 09:51:05 +0800 Subject: [PATCH] :bookmark: Releasing / Version tags. 5.2 --- .../data/cache/DefaultRedisCacheWriter.java | 5 +- .../datascope/DataScopeInnerInterceptor.java | 3 +- .../data/datascope/DataScopeSqlInjector.java | 1 - .../common/data/datascope/PigxBaseMapper.java | 1 - .../datascope/PigxDefaultDatascopeHandle.java | 13 +- .../data/mybatis/DruidSqlLogFilter.java | 6 +- .../mybatis/MybatisPlusMetaObjectHandler.java | 1 - .../config/JdbcDynamicDataSourceProvider.java | 1 - .../api/encrypt/util/ApiCryptoUtil.java | 13 +- .../pigx/common/log/LogAutoConfiguration.java | 3 - .../pigx/common/log/event/SysLogListener.java | 2 - .../pigx/common/log/util/SysLogUtils.java | 4 +- .../PigxResourceServerConfiguration.java | 25 +- .../component/PigxSecurityInnerAspect.java | 3 +- .../PigxRedisOAuth2AuthorizationService.java | 25 +- .../PigxRemoteRegisteredClientRepository.java | 55 ++-- .../security/util/OAuth2EndpointUtils.java | 5 +- .../controller/EngineFlowController.java | 41 ++- .../EngineProcessInstanceController.java | 8 +- .../controller/EngineTaskController.java | 9 +- .../engine/expression/ExpressionHandler.java | 15 +- .../NodeExpressionStrategyFactory.java | 4 +- .../listeners/FlowProcessEventListener.java | 25 +- .../engine/node/MultiInstanceHandler.java | 6 +- .../impl/AssignUserFixedStrategyImpl.java | 10 +- .../impl/AssignUserLeaderStrategyImpl.java | 10 +- .../node/impl/AssignUserRoleStrategyImpl.java | 5 +- .../engine/service/ApproveServiceTask.java | 12 +- .../flow/engine/service/CopyServiceTask.java | 15 +- .../pigx/flow/engine/utils/FlowableUtils.java | 14 +- .../pigx/flow/engine/utils/ModelUtil.java | 238 +++++++----------- .../impl/AbstractEngineConfiguration.java | 86 ++----- .../api/feign/RemoteFlowEngineService.java | 1 - .../pigx/flow/task/constant/IBaseEnum.java | 6 +- .../pigx/flow/task/dto/SelectValue.java | 4 +- .../task/config/SequenceConfiguration.java | 9 +- .../task/service/IProcessInstanceService.java | 1 - .../impl/CombinationGroupServiceImpl.java | 54 ++-- .../task/service/impl/OrgServiceImpl.java | 36 ++- .../service/impl/ProcessCopyServiceImpl.java | 5 +- .../impl/ProcessInstanceServiceImpl.java | 146 +++++------ .../impl/ProcessNodeDataServiceImpl.java | 9 +- ...rocessNodeRecordAssignUserServiceImpl.java | 22 +- .../impl/ProcessNodeRecordServiceImpl.java | 11 +- .../task/service/impl/ProcessServiceImpl.java | 6 +- .../task/service/impl/RemoteServiceImpl.java | 13 +- .../task/service/impl/TaskServiceImpl.java | 37 ++- .../pigx/flow/task/utils/DataUtil.java | 10 +- .../pigx/flow/task/utils/NodeFormatUtil.java | 43 ++-- .../config/SpringDocConfiguration.java | 9 +- .../admin/api/feign/RemoteParamService.java | 1 - .../controller/SysAuditLogController.java | 2 +- .../admin/controller/SysDeptController.java | 2 +- .../admin/controller/SysFileController.java | 8 +- .../admin/controller/SysI18nController.java | 2 +- .../admin/controller/SysPostController.java | 2 +- .../controller/SysPublicParamController.java | 14 +- .../admin/controller/SysRoleController.java | 4 +- .../SysSocialDetailsController.java | 8 +- .../admin/controller/SysTenantController.java | 12 +- .../admin/controller/SysUserController.java | 2 +- .../pigx/admin/mapper/SysDeptMapper.java | 2 - .../pigx/admin/service/SysFileService.java | 1 - .../service/impl/SysDeptServiceImpl.java | 64 ++--- .../service/impl/SysFileServiceImpl.java | 20 +- .../service/impl/SysMenuServiceImpl.java | 13 +- .../service/impl/SysPostServiceImpl.java | 7 +- .../impl/SysPublicParamServiceImpl.java | 12 +- .../service/impl/SysRoleServiceImpl.java | 9 +- .../service/impl/SysTenantServiceImpl.java | 22 +- .../service/impl/SysUserServiceImpl.java | 74 +++--- .../service/impl/GenTableServiceImpl.java | 7 +- .../service/impl/GeneratorServiceImpl.java | 44 ++-- 73 files changed, 540 insertions(+), 878 deletions(-) diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java index 7014107d4..4a28c8f80 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java @@ -183,9 +183,8 @@ class DefaultRedisCacheWriter implements RedisCacheWriter { wasLocked = true; } - byte[][] keys = Optional.ofNullable(connection.keys(pattern)) - .orElse(Collections.emptySet()) - .toArray(new byte[0][]); + byte[][] keys = Optional.ofNullable(connection.keys(pattern)).orElse(Collections.emptySet()) + .toArray(new byte[0][]); if (keys.length > 0) { connection.del(keys); diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java index c355d20d0..fdbdf8388 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java @@ -44,8 +44,7 @@ public class DataScopeInnerInterceptor implements DataScopeInterceptor { // 返回true 不拦截直接返回原始 SQL (只针对 COUNT 查询) if (dataScopeHandle.calcScope(dataScope) && DataScopeFuncEnum.COUNT.equals(dataScope.getFunc())) { - mpBs.sql(String.format("SELECT %s FROM (%s) temp_data_scope", - dataScope.getFunc().getType(), originalSql)); + mpBs.sql(String.format("SELECT %s FROM (%s) temp_data_scope", dataScope.getFunc().getType(), originalSql)); return; } diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeSqlInjector.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeSqlInjector.java index 656cd723f..3d84c5e29 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeSqlInjector.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeSqlInjector.java @@ -1,7 +1,6 @@ package com.pig4cloud.pigx.common.data.datascope; import com.baomidou.mybatisplus.core.injector.AbstractMethod; -import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.github.yulichang.injector.MPJSqlInjector; diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java index 110064a6f..f6d80cfd9 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxBaseMapper.java @@ -1,7 +1,6 @@ package com.pig4cloud.pigx.common.data.datascope; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.github.yulichang.base.MPJBaseMapper; diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java index 2975dd31a..547c0f439 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java @@ -60,12 +60,9 @@ public class PigxDefaultDatascopeHandle implements DataScopeHandle { return true; } - List roleIdList = user.getAuthorities() - .stream() - .map(GrantedAuthority::getAuthority) - .filter(authority -> authority.startsWith(SecurityConstants.ROLE)) - .map(authority -> authority.split(StrUtil.UNDERLINE)[1]) - .collect(Collectors.toList()); + List roleIdList = user.getAuthorities().stream().map(GrantedAuthority::getAuthority) + .filter(authority -> authority.startsWith(SecurityConstants.ROLE)) + .map(authority -> authority.split(StrUtil.UNDERLINE)[1]).collect(Collectors.toList()); List deptList = dataScope.getDeptList(); @@ -92,8 +89,8 @@ public class PigxDefaultDatascopeHandle implements DataScopeHandle { // 自定义 if (DataScopeTypeEnum.CUSTOM.getType() == dsType && StrUtil.isNotBlank(role.getDsScope())) { String dsScope = role.getDsScope(); - deptList - .addAll(Arrays.stream(dsScope.split(StrUtil.COMMA)).map(Long::parseLong).collect(Collectors.toList())); + deptList.addAll( + Arrays.stream(dsScope.split(StrUtil.COMMA)).map(Long::parseLong).collect(Collectors.toList())); } // 查询本级及其下级 if (DataScopeTypeEnum.OWN_CHILD_LEVEL.getType() == dsType) { diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/DruidSqlLogFilter.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/DruidSqlLogFilter.java index b8d411ad6..4c5a56814 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/DruidSqlLogFilter.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/DruidSqlLogFilter.java @@ -32,7 +32,6 @@ import com.alibaba.druid.stat.TableStat; import com.alibaba.druid.util.StringUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Import; import java.sql.SQLException; import java.time.temporal.TemporalAccessor; @@ -125,9 +124,8 @@ public class DruidSqlLogFilter extends FilterEventAdapter { List skipTableList = properties.getSkipTable(); List tableNameList = getTablesBydruid(sql, dbType); - if (tableNameList.stream() - .anyMatch(tableName -> StrUtil.containsAnyIgnoreCase(tableName, - ArrayUtil.toArray(skipTableList, String.class)))) { + if (tableNameList.stream().anyMatch(tableName -> StrUtil.containsAnyIgnoreCase(tableName, + ArrayUtil.toArray(skipTableList, String.class)))) { return; } } diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusMetaObjectHandler.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusMetaObjectHandler.java index 239af4e38..a43e4b840 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusMetaObjectHandler.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusMetaObjectHandler.java @@ -3,7 +3,6 @@ package com.pig4cloud.pigx.common.data.mybatis; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.pig4cloud.pigx.common.core.constant.CommonConstants; -import com.pig4cloud.pigx.common.security.util.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.security.authentication.AnonymousAuthenticationToken; diff --git a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java index 7f5b66445..da5d2d044 100644 --- a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java +++ b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java @@ -25,7 +25,6 @@ import com.pig4cloud.pigx.common.datasource.support.DataSourceConstants; import com.pig4cloud.pigx.common.datasource.util.DsConfTypeEnum; import com.pig4cloud.pigx.common.datasource.util.DsJdbcUrlEnum; import org.jasypt.encryption.StringEncryptor; -import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/pigx-common/pigx-common-encrypt-api/src/main/java/com/pig4cloud/pigx/common/api/encrypt/util/ApiCryptoUtil.java b/pigx-common/pigx-common-encrypt-api/src/main/java/com/pig4cloud/pigx/common/api/encrypt/util/ApiCryptoUtil.java index 49eeed1e6..cebf6a5e1 100644 --- a/pigx-common/pigx-common-encrypt-api/src/main/java/com/pig4cloud/pigx/common/api/encrypt/util/ApiCryptoUtil.java +++ b/pigx-common/pigx-common-encrypt-api/src/main/java/com/pig4cloud/pigx/common/api/encrypt/util/ApiCryptoUtil.java @@ -100,8 +100,8 @@ public class ApiCryptoUtil { return aes.encryptBase64(jsonData); } if (type == EncryptType.RSA) { - return SecureUtil.rsa(secretKey.getBytes(StandardCharsets.UTF_8), null) - .encryptBase64(jsonData, KeyType.PrivateKey); + return SecureUtil.rsa(secretKey.getBytes(StandardCharsets.UTF_8), null).encryptBase64(jsonData, + KeyType.PrivateKey); } if (type == EncryptType.SM4) { @@ -140,14 +140,13 @@ public class ApiCryptoUtil { return SecureUtil.des(secretKey.getBytes(StandardCharsets.UTF_8)).decrypt(bodyData); } if (type == EncryptType.RSA) { - return SecureUtil.rsa(secretKey.getBytes(StandardCharsets.UTF_8), null) - .decrypt(bodyData, KeyType.PrivateKey); + return SecureUtil.rsa(secretKey.getBytes(StandardCharsets.UTF_8), null).decrypt(bodyData, + KeyType.PrivateKey); } if (type == EncryptType.SM4) { - return SmUtil.sm4(HexUtil.decodeHex(secretKey)) - .decryptStr(StrUtil.str(bodyData, Charset.defaultCharset())) - .getBytes(); + return SmUtil.sm4(HexUtil.decodeHex(secretKey)).decryptStr(StrUtil.str(bodyData, Charset.defaultCharset())) + .getBytes(); } throw new EncryptMethodNotFoundException(); diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java index 112d4791a..a6f4ac79a 100644 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java @@ -24,11 +24,8 @@ import com.pig4cloud.pigx.common.core.util.KeyStrResolver; import com.pig4cloud.pigx.common.log.aspect.SysLogAspect; import com.pig4cloud.pigx.common.log.config.PigXLogProperties; import com.pig4cloud.pigx.common.log.event.SysLogListener; -import lombok.AllArgsConstructor; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/event/SysLogListener.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/event/SysLogListener.java index 85f1e97b2..dc637201c 100755 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/event/SysLogListener.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/event/SysLogListener.java @@ -23,7 +23,6 @@ import com.fasterxml.jackson.databind.ser.FilterProvider; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; import com.pig4cloud.pigx.admin.api.dto.SysLogDTO; -import com.pig4cloud.pigx.admin.api.entity.SysLog; import com.pig4cloud.pigx.admin.api.feign.RemoteLogService; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.jackson.PigxJavaTimeModule; @@ -31,7 +30,6 @@ import com.pig4cloud.pigx.common.log.config.PigXLogProperties; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.InitializingBean; import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/util/SysLogUtils.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/util/SysLogUtils.java index 9d4815ed6..c5e333bc8 100755 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/util/SysLogUtils.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/util/SysLogUtils.java @@ -25,7 +25,6 @@ import cn.hutool.http.HttpUtil; import com.pig4cloud.pigx.admin.api.dto.SysLogDTO; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.log.config.PigXLogProperties; -import javax.servlet.http.HttpServletRequest; import lombok.experimental.UtilityClass; import org.springframework.core.StandardReflectionParameterNameDiscoverer; import org.springframework.expression.EvaluationContext; @@ -39,6 +38,7 @@ import org.springframework.security.oauth2.core.OAuth2AuthenticatedPrincipal; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.Map; import java.util.Objects; @@ -53,7 +53,7 @@ public class SysLogUtils { public SysLogDTO getSysLog() { HttpServletRequest request = ((ServletRequestAttributes) Objects - .requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + .requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); SysLogDTO sysLog = new SysLogDTO(); sysLog.setLogType(LogTypeEnum.NORMAL.getType()); sysLog.setRequestUri(URLUtil.getPath(request.getRequestURI())); diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerConfiguration.java index 6ab3b5bdd..a1e25847b 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerConfiguration.java @@ -55,22 +55,17 @@ public class PigxResourceServerConfiguration { @Bean @Order(Ordered.HIGHEST_PRECEDENCE) SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - AntPathRequestMatcher[] requestMatchers = permitAllUrl.getIgnoreUrls() - .stream() - .map(AntPathRequestMatcher::new) - .collect(Collectors.toList()) - .toArray(new AntPathRequestMatcher[] {}); + AntPathRequestMatcher[] requestMatchers = permitAllUrl.getIgnoreUrls().stream().map(AntPathRequestMatcher::new) + .collect(Collectors.toList()).toArray(new AntPathRequestMatcher[] {}); - http.authorizeHttpRequests(authorizeRequests -> authorizeRequests.requestMatchers(requestMatchers) - .permitAll() - .anyRequest() - .authenticated()) - .oauth2ResourceServer( - oauth2 -> oauth2.opaqueToken(token -> token.introspector(customOpaqueTokenIntrospector)) - .authenticationEntryPoint(resourceAuthExceptionEntryPoint) - .bearerTokenResolver(pigxBearerTokenExtractor)) - .headers(headers -> headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable)) - .csrf(AbstractHttpConfigurer::disable); + http.authorizeHttpRequests(authorizeRequests -> authorizeRequests.requestMatchers(requestMatchers).permitAll() + .anyRequest().authenticated()) + .oauth2ResourceServer( + oauth2 -> oauth2.opaqueToken(token -> token.introspector(customOpaqueTokenIntrospector)) + .authenticationEntryPoint(resourceAuthExceptionEntryPoint) + .bearerTokenResolver(pigxBearerTokenExtractor)) + .headers(headers -> headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable)) + .csrf(AbstractHttpConfigurer::disable); return http.build(); } diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxSecurityInnerAspect.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxSecurityInnerAspect.java index 232b51dd6..8ec0ea8d5 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxSecurityInnerAspect.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxSecurityInnerAspect.java @@ -19,7 +19,6 @@ package com.pig4cloud.pigx.common.security.component; import cn.hutool.core.util.StrUtil; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.security.annotation.Inner; -import javax.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -30,6 +29,8 @@ import org.springframework.core.Ordered; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.security.access.AccessDeniedException; +import javax.servlet.http.HttpServletRequest; + /** * @author lengleng * @date 2022-06-04 diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRedisOAuth2AuthorizationService.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRedisOAuth2AuthorizationService.java index e67997c0b..266108b5a 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRedisOAuth2AuthorizationService.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRedisOAuth2AuthorizationService.java @@ -46,38 +46,35 @@ public class PigxRedisOAuth2AuthorizationService implements OAuth2AuthorizationS if (isState(authorization)) { String token = authorization.getAttribute("state"); redisTemplate.setValueSerializer(RedisSerializer.java()); - redisTemplate.opsForValue() - .set(buildKey(OAuth2ParameterNames.STATE, token), authorization, TIMEOUT, TimeUnit.MINUTES); + redisTemplate.opsForValue().set(buildKey(OAuth2ParameterNames.STATE, token), authorization, TIMEOUT, + TimeUnit.MINUTES); } if (isCode(authorization)) { OAuth2Authorization.Token authorizationCode = authorization - .getToken(OAuth2AuthorizationCode.class); + .getToken(OAuth2AuthorizationCode.class); OAuth2AuthorizationCode authorizationCodeToken = authorizationCode.getToken(); long between = ChronoUnit.MINUTES.between(authorizationCodeToken.getIssuedAt(), authorizationCodeToken.getExpiresAt()); redisTemplate.setValueSerializer(RedisSerializer.java()); - redisTemplate.opsForValue() - .set(buildKey(OAuth2ParameterNames.CODE, authorizationCodeToken.getTokenValue()), authorization, - between, TimeUnit.MINUTES); + redisTemplate.opsForValue().set(buildKey(OAuth2ParameterNames.CODE, authorizationCodeToken.getTokenValue()), + authorization, between, TimeUnit.MINUTES); } if (isRefreshToken(authorization)) { OAuth2RefreshToken refreshToken = authorization.getRefreshToken().getToken(); long between = ChronoUnit.SECONDS.between(refreshToken.getIssuedAt(), refreshToken.getExpiresAt()); redisTemplate.setValueSerializer(RedisSerializer.java()); - redisTemplate.opsForValue() - .set(buildKey(OAuth2ParameterNames.REFRESH_TOKEN, refreshToken.getTokenValue()), authorization, between, - TimeUnit.SECONDS); + redisTemplate.opsForValue().set(buildKey(OAuth2ParameterNames.REFRESH_TOKEN, refreshToken.getTokenValue()), + authorization, between, TimeUnit.SECONDS); } if (isAccessToken(authorization)) { OAuth2AccessToken accessToken = authorization.getAccessToken().getToken(); long between = ChronoUnit.SECONDS.between(accessToken.getIssuedAt(), accessToken.getExpiresAt()); redisTemplate.setValueSerializer(RedisSerializer.java()); - redisTemplate.opsForValue() - .set(buildKey(OAuth2ParameterNames.ACCESS_TOKEN, accessToken.getTokenValue()), authorization, between, - TimeUnit.SECONDS); + redisTemplate.opsForValue().set(buildKey(OAuth2ParameterNames.ACCESS_TOKEN, accessToken.getTokenValue()), + authorization, between, TimeUnit.SECONDS); // 扩展记录 access-token 、username 的关系 1::token::username::admin::xxx String tokenUsername = String.format("%s::%s::%s::%s::%s", tenantKeyStrResolver.key(), AUTHORIZATION, @@ -98,7 +95,7 @@ public class PigxRedisOAuth2AuthorizationService implements OAuth2AuthorizationS if (isCode(authorization)) { OAuth2Authorization.Token authorizationCode = authorization - .getToken(OAuth2AuthorizationCode.class); + .getToken(OAuth2AuthorizationCode.class); OAuth2AuthorizationCode authorizationCodeToken = authorizationCode.getToken(); keys.add(buildKey(OAuth2ParameterNames.CODE, authorizationCodeToken.getTokenValue())); } @@ -146,7 +143,7 @@ public class PigxRedisOAuth2AuthorizationService implements OAuth2AuthorizationS private static boolean isCode(OAuth2Authorization authorization) { OAuth2Authorization.Token authorizationCode = authorization - .getToken(OAuth2AuthorizationCode.class); + .getToken(OAuth2AuthorizationCode.class); return Objects.nonNull(authorizationCode); } diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRemoteRegisteredClientRepository.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRemoteRegisteredClientRepository.java index 275e1aa60..275a2ecab 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRemoteRegisteredClientRepository.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/service/PigxRemoteRegisteredClientRepository.java @@ -88,53 +88,46 @@ public class PigxRemoteRegisteredClientRepository implements RegisteredClientRep public RegisteredClient findByClientId(String clientId) { SysOauthClientDetails clientDetails = RetOps - .of(clientDetailsService.getClientDetailsById(clientId, SecurityConstants.FROM_IN)) - .getData() - .orElseThrow(() -> new OAuth2AuthorizationCodeRequestAuthenticationException( - new OAuth2Error("客户端查询异常,请检查数据库链接"), null)); + .of(clientDetailsService.getClientDetailsById(clientId, SecurityConstants.FROM_IN)).getData() + .orElseThrow(() -> new OAuth2AuthorizationCodeRequestAuthenticationException( + new OAuth2Error("客户端查询异常,请检查数据库链接"), null)); RegisteredClient.Builder builder = RegisteredClient.withId(clientDetails.getClientId()) - .clientId(clientDetails.getClientId()) - .clientSecret(SecurityConstants.NOOP + clientDetails.getClientSecret()) - .clientAuthenticationMethods(clientAuthenticationMethods -> { - clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); - clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_POST); - }); + .clientId(clientDetails.getClientId()) + .clientSecret(SecurityConstants.NOOP + clientDetails.getClientSecret()) + .clientAuthenticationMethods(clientAuthenticationMethods -> { + clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_BASIC); + clientAuthenticationMethods.add(ClientAuthenticationMethod.CLIENT_SECRET_POST); + }); // 授权模式 Arrays.stream(clientDetails.getAuthorizedGrantTypes()) - .forEach(grant -> builder.authorizationGrantType(new AuthorizationGrantType(grant))); + .forEach(grant -> builder.authorizationGrantType(new AuthorizationGrantType(grant))); // 回调地址 - Optional.ofNullable(clientDetails.getWebServerRedirectUri()) - .ifPresent(redirectUri -> Arrays.stream(redirectUri.split(StrUtil.COMMA)) - .filter(StrUtil::isNotBlank) - .forEach(builder::redirectUri)); + Optional.ofNullable(clientDetails.getWebServerRedirectUri()).ifPresent(redirectUri -> Arrays + .stream(redirectUri.split(StrUtil.COMMA)).filter(StrUtil::isNotBlank).forEach(builder::redirectUri)); // scope - Optional.ofNullable(clientDetails.getScope()) - .ifPresent(scope -> Arrays.stream(scope.split(StrUtil.COMMA)) - .filter(StrUtil::isNotBlank) - .forEach(builder::scope)); + Optional.ofNullable(clientDetails.getScope()).ifPresent( + scope -> Arrays.stream(scope.split(StrUtil.COMMA)).filter(StrUtil::isNotBlank).forEach(builder::scope)); // 注入扩展配置 Optional.ofNullable(clientDetails.getAdditionalInformation()).ifPresent(ext -> { Map map = JSONUtil.parseObj(ext).toBean(Map.class); - builder.clientSettings(ClientSettings.withSettings(map) - .requireProofKey(false) - .requireAuthorizationConsent(!BooleanUtil.toBoolean(clientDetails.getAutoapprove())) - .build()); + builder.clientSettings(ClientSettings.withSettings(map).requireProofKey(false) + .requireAuthorizationConsent(!BooleanUtil.toBoolean(clientDetails.getAutoapprove())).build()); }); return builder - .tokenSettings(TokenSettings.builder() - .accessTokenFormat(OAuth2TokenFormat.REFERENCE) - .accessTokenTimeToLive(Duration.ofSeconds( - Optional.ofNullable(clientDetails.getAccessTokenValidity()).orElse(accessTokenValiditySeconds))) - .refreshTokenTimeToLive(Duration.ofSeconds(Optional.ofNullable(clientDetails.getRefreshTokenValidity()) - .orElse(refreshTokenValiditySeconds))) - .build()) + .tokenSettings(TokenSettings.builder().accessTokenFormat(OAuth2TokenFormat.REFERENCE) + .accessTokenTimeToLive(Duration.ofSeconds(Optional + .ofNullable(clientDetails.getAccessTokenValidity()).orElse(accessTokenValiditySeconds))) + .refreshTokenTimeToLive( + Duration.ofSeconds(Optional.ofNullable(clientDetails.getRefreshTokenValidity()) + .orElse(refreshTokenValiditySeconds))) + .build()) - .build(); + .build(); } diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/util/OAuth2EndpointUtils.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/util/OAuth2EndpointUtils.java index bcdc2b984..307780ba7 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/util/OAuth2EndpointUtils.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/util/OAuth2EndpointUtils.java @@ -37,7 +37,7 @@ public class OAuth2EndpointUtils { public boolean matchesPkceTokenRequest(HttpServletRequest request) { return AuthorizationGrantType.AUTHORIZATION_CODE.getValue() - .equals(request.getParameter(OAuth2ParameterNames.GRANT_TYPE)) + .equals(request.getParameter(OAuth2ParameterNames.GRANT_TYPE)) && request.getParameter(OAuth2ParameterNames.CODE) != null && request.getParameter(PkceParameterNames.CODE_VERIFIER) != null; } @@ -61,8 +61,7 @@ public class OAuth2EndpointUtils { OAuth2RefreshToken refreshToken = authentication.getRefreshToken().getToken(); OAuth2AccessTokenResponse.Builder builder = OAuth2AccessTokenResponse.withToken(accessToken.getTokenValue()) - .tokenType(accessToken.getTokenType()) - .scopes(accessToken.getScopes()); + .tokenType(accessToken.getTokenType()).scopes(accessToken.getScopes()); if (accessToken.getIssuedAt() != null && accessToken.getExpiresAt() != null) { builder.expiresIn(ChronoUnit.SECONDS.between(accessToken.getIssuedAt(), accessToken.getExpiresAt())); } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java index 0d98c83fe..da870ba19 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java @@ -1,6 +1,5 @@ package com.pig4cloud.pigx.flow.engine.controller; -import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; @@ -20,7 +19,6 @@ import com.pig4cloud.pigx.flow.task.utils.NodeUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.flowable.bpmn.BpmnAutoLayout; import org.flowable.bpmn.converter.BpmnXMLConverter; import org.flowable.bpmn.model.BpmnModel; import org.flowable.common.engine.impl.identity.Authentication; @@ -30,14 +28,14 @@ import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.history.HistoricActivityInstance; import org.flowable.engine.history.HistoricActivityInstanceQuery; -import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.runtime.Execution; import org.flowable.engine.runtime.ProcessInstance; -import org.flowable.image.impl.DefaultProcessDiagramGenerator; import org.flowable.task.api.TaskQuery; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import java.io.InputStream; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.*; @@ -133,20 +131,14 @@ public class EngineFlowController { processInstanceIdList.forEach(processInstanceId -> { // 查询流程实例 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() - .processInstanceId(processInstanceId) - .singleResult(); + .processInstanceId(processInstanceId).singleResult(); if (Optional.ofNullable(processInstance).isPresent()) { // 查询执行实例 - List executionIds = runtimeService.createExecutionQuery() - .parentId(processInstanceId) - .list() - .stream() - .map(Execution::getId) - .collect(Collectors.toList()); + List executionIds = runtimeService.createExecutionQuery().parentId(processInstanceId).list() + .stream().map(Execution::getId).collect(Collectors.toList()); // 更改活动状态为结束 - runtimeService.createChangeActivityStateBuilder() - .moveExecutionsToSingleActivityId(executionIds, "end") - .changeState(); + runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(executionIds, "end") + .changeState(); } }); return R.ok(); @@ -160,12 +152,9 @@ public class EngineFlowController { @PostMapping("/queryCompletedTask") public R queryCompletedTask(@RequestBody TaskQueryParamDto taskQueryParamDto) { HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService - .createHistoricActivityInstanceQuery(); + .createHistoricActivityInstanceQuery(); HistoricActivityInstanceQuery activityInstanceQuery = historicActivityInstanceQuery - .taskAssignee(taskQueryParamDto.getAssign()) - .finished() - .orderByHistoricActivityInstanceEndTime() - .desc(); + .taskAssignee(taskQueryParamDto.getAssign()).finished().orderByHistoricActivityInstanceEndTime().desc(); if (ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime())) { ZoneId zoneId = ZoneId.systemDefault(); @@ -237,12 +226,10 @@ public class EngineFlowController { TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(assign).orderByTaskCreateTime().desc(); if (StrUtil.isNotBlank(taskQueryParamDto.getProcessName())) { List processInstanceList = runtimeService.createProcessInstanceQuery() - .processInstanceNameLikeIgnoreCase(taskQueryParamDto.getProcessName()) - .list(); + .processInstanceNameLikeIgnoreCase(taskQueryParamDto.getProcessName()).list(); if (CollUtil.isNotEmpty(processInstanceList)) { - taskQuery.processInstanceIdIn(processInstanceList.stream() - .map(ProcessInstance::getProcessDefinitionId) - .collect(Collectors.toList())); + taskQuery.processInstanceIdIn(processInstanceList.stream().map(ProcessInstance::getProcessDefinitionId) + .collect(Collectors.toList())); } } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java index be2d2b0e5..392a3c0a5 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java @@ -42,14 +42,12 @@ public class EngineProcessInstanceController { long pendingNum = taskQuery.taskAssignee(String.valueOf(userId)).count(); // 已完成任务 HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService - .createHistoricActivityInstanceQuery(); + .createHistoricActivityInstanceQuery(); long completedNum = historicActivityInstanceQuery.taskAssignee(String.valueOf(userId)).finished().count(); - IndexPageStatistics indexPageStatistics = IndexPageStatistics.builder() - .pendingNum(pendingNum) - .completedNum(completedNum) - .build(); + IndexPageStatistics indexPageStatistics = IndexPageStatistics.builder().pendingNum(pendingNum) + .completedNum(completedNum).build(); return R.ok(indexPageStatistics); } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineTaskController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineTaskController.java index 4171408d1..4132b9167 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineTaskController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineTaskController.java @@ -74,7 +74,7 @@ public class EngineTaskController { @GetMapping("/engine/queryTask") public R queryTask(String taskId, String userId) { Optional task = Optional - .ofNullable(taskService.createTaskQuery().taskId(taskId).taskAssignee(userId).singleResult()); + .ofNullable(taskService.createTaskQuery().taskId(taskId).taskAssignee(userId).singleResult()); if (task.isPresent()) { String processDefinitionId = task.get().getProcessDefinitionId(); @@ -100,11 +100,8 @@ public class EngineTaskController { return R.ok(taskResultDto); } else { - Optional historicTaskInstance = Optional - .ofNullable(historyService.createHistoricTaskInstanceQuery() - .taskId(taskId) - .taskAssignee(userId) - .singleResult()); + Optional historicTaskInstance = Optional.ofNullable(historyService + .createHistoricTaskInstanceQuery().taskId(taskId).taskAssignee(userId).singleResult()); if (historicTaskInstance.isPresent()) { String processDefinitionId = historicTaskInstance.get().getProcessDefinitionId(); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/ExpressionHandler.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/ExpressionHandler.java index a0c80faa6..21da08529 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/ExpressionHandler.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/ExpressionHandler.java @@ -43,9 +43,8 @@ public class ExpressionHandler { public Long getUserId(String key, DelegateExecution execution) { Object variable = execution.getVariable(key); NodeUser nodeUserDto = objectMapper - .readValue(objectMapper.writeValueAsString(variable), new TypeReference>() { - }) - .get(0); + .readValue(objectMapper.writeValueAsString(variable), new TypeReference>() { + }).get(0); return nodeUserDto.getId(); } @@ -290,14 +289,12 @@ public class ExpressionHandler { }); List deptIdList = paramDeptList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) - .map(NodeUser::getId) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())).map(NodeUser::getId) + .collect(Collectors.toList()); List userIdList = paramDeptList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) - .map(NodeUser::getId) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())).map(NodeUser::getId) + .collect(Collectors.toList()); if (CollUtil.isNotEmpty(deptIdList)) { R> r = remoteUserService.getUserIdListByDeptIdList(deptIdList); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/condition/NodeExpressionStrategyFactory.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/condition/NodeExpressionStrategyFactory.java index 150766156..f4550879d 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/condition/NodeExpressionStrategyFactory.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/expression/condition/NodeExpressionStrategyFactory.java @@ -15,9 +15,9 @@ public class NodeExpressionStrategyFactory { public static String handleSingleCondition(Condition nodeConditionDto) { Map nodeConditionStrategyMap = SpringUtil - .getBeansOfType(NodeConditionStrategy.class); + .getBeansOfType(NodeConditionStrategy.class); NodeConditionStrategy nodeConditionHandler = nodeConditionStrategyMap - .get(nodeConditionDto.getKeyType() + "NodeConditionStrategy"); + .get(nodeConditionDto.getKeyType() + "NodeConditionStrategy"); if (nodeConditionHandler == null) { return "(1==1)"; } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/listeners/FlowProcessEventListener.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/listeners/FlowProcessEventListener.java index 4519627f6..8ec53040c 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/listeners/FlowProcessEventListener.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/listeners/FlowProcessEventListener.java @@ -70,12 +70,10 @@ public class FlowProcessEventListener implements FlowableEventListener { remoteFlowTaskService.startNodeEvent(processNodeRecordParamDto); } - if (event.getType() - .toString() - .equals(FlowableEngineEventType.MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION.toString()) - || event.getType() - .toString() - .equals(FlowableEngineEventType.MULTI_INSTANCE_ACTIVITY_COMPLETED.toString())) { + if (event.getType().toString() + .equals(FlowableEngineEventType.MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION.toString()) + || event.getType().toString() + .equals(FlowableEngineEventType.MULTI_INSTANCE_ACTIVITY_COMPLETED.toString())) { // 多实例任务 FlowableMultiInstanceActivityCompletedEventImpl flowableActivityEvent = (FlowableMultiInstanceActivityCompletedEventImpl) event; String activityId = flowableActivityEvent.getActivityId(); @@ -141,9 +139,8 @@ public class FlowProcessEventListener implements FlowableEventListener { log.debug("变量[{}]删除了:{} ", flowableVariableEvent.getVariableName(), flowableVariableEvent.getVariableValue()); } - if (event.getType() - .toString() - .equals(FlowableEngineEventType.PROCESS_COMPLETED_WITH_TERMINATE_END_EVENT.toString())) { + if (event.getType().toString() + .equals(FlowableEngineEventType.PROCESS_COMPLETED_WITH_TERMINATE_END_EVENT.toString())) { // 流程开完成 FlowableProcessTerminatedEventImpl e = (FlowableProcessTerminatedEventImpl) event; DelegateExecution execution = e.getExecution(); @@ -180,9 +177,9 @@ public class FlowProcessEventListener implements FlowableEventListener { processNodeRecordAssignUserParamDto.setFlowId(flowId); processNodeRecordAssignUserParamDto.setProcessInstanceId(processInstanceId); processNodeRecordAssignUserParamDto - .setData(objectMapper.writeValueAsString(taskService.getVariables(task.getId()))); + .setData(objectMapper.writeValueAsString(taskService.getVariables(task.getId()))); processNodeRecordAssignUserParamDto - .setLocalData(objectMapper.writeValueAsString(taskService.getVariablesLocal(task.getId()))); + .setLocalData(objectMapper.writeValueAsString(taskService.getVariablesLocal(task.getId()))); processNodeRecordAssignUserParamDto.setNodeId(taskDefinitionKey); processNodeRecordAssignUserParamDto.setUserId(Long.parseLong(assignee)); processNodeRecordAssignUserParamDto.setTaskId(task.getId()); @@ -223,9 +220,9 @@ public class FlowProcessEventListener implements FlowableEventListener { processNodeRecordAssignUserParamDto.setTaskId(task.getId()); processNodeRecordAssignUserParamDto.setNodeName(task.getName()); processNodeRecordAssignUserParamDto - .setTaskType(StrUtil.equals(DelegationState.PENDING.toString(), delegationStateString) ? "DELEGATION" - : (StrUtil.equals(DelegationState.RESOLVED.toString(), delegationStateString) ? "RESOLVED" - : "")); + .setTaskType(StrUtil.equals(DelegationState.PENDING.toString(), delegationStateString) + ? "DELEGATION" : (StrUtil.equals(DelegationState.RESOLVED.toString(), delegationStateString) + ? "RESOLVED" : "")); processNodeRecordAssignUserParamDto.setApproveDesc(Convert.toStr(task.getVariableLocal("approveDesc"))); processNodeRecordAssignUserParamDto.setExecutionId(task.getExecutionId()); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/MultiInstanceHandler.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/MultiInstanceHandler.java index bc45fe858..1997aaa7a 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/MultiInstanceHandler.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/MultiInstanceHandler.java @@ -62,8 +62,8 @@ public class MultiInstanceHandler { if (node != null) { Map variables = execution.getVariables(); Integer assignedType = node.getAssignedType(); - List userIdList = assignUserStrategyMap.get(assignedType + "AssignUserStrategy") - .handle(node, rootUser, variables); + List userIdList = assignUserStrategyMap.get(assignedType + "AssignUserStrategy").handle(node, + rootUser, variables); assignList.addAll(userIdList); } else { @@ -128,7 +128,7 @@ public class MultiInstanceHandler { if (multipleMode == ProcessInstanceConstant.MULTIPLE_MODE_AL_SAME) { return BigDecimal.valueOf(nrOfCompletedInstances * 100L) - .compareTo(BigDecimal.valueOf(nrOfCompletedInstances).multiply(modePercentage)) > 0; + .compareTo(BigDecimal.valueOf(nrOfCompletedInstances).multiply(modePercentage)) > 0; } return nrOfCompletedInstances == nrOfInstances; diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserFixedStrategyImpl.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserFixedStrategyImpl.java index 63e1f893a..098bcd5d1 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserFixedStrategyImpl.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserFixedStrategyImpl.java @@ -44,14 +44,12 @@ public class AssignUserFixedStrategyImpl implements AssignUserStrategy { List userDtoList = node.getNodeUserList(); // 用户ID列表 List userIdList = userDtoList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) - .map(NodeUser::getId) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())).map(NodeUser::getId) + .collect(Collectors.toList()); // 部门ID列表 List deptIdList = userDtoList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) - .map(NodeUser::getId) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())).map(NodeUser::getId) + .collect(Collectors.toList()); if (CollUtil.isNotEmpty(deptIdList)) { R> r = remoteUserService.getUserIdListByDeptIdList(deptIdList); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserLeaderStrategyImpl.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserLeaderStrategyImpl.java index 8c6b7e822..2841c2b63 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserLeaderStrategyImpl.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserLeaderStrategyImpl.java @@ -31,12 +31,10 @@ public class AssignUserLeaderStrategyImpl implements AssignUserStrategy { @Override public List handle(Node node, NodeUser rootUser, Map variables) { // 获取部门ID - return node.getNodeUserList() - .stream() - .map(nodeUser -> deptService.getAllDeptLeader(nodeUser.getId())) - .flatMap((Function>, Stream>) listR -> listR.getData() == null ? null - : listR.getData().stream()) - .collect(Collectors.toList()); + return node.getNodeUserList().stream().map(nodeUser -> deptService.getAllDeptLeader(nodeUser.getId())) + .flatMap((Function>, Stream>) listR -> listR.getData() == null ? null + : listR.getData().stream()) + .collect(Collectors.toList()); } } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserRoleStrategyImpl.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserRoleStrategyImpl.java index 18e3a3100..192428c96 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserRoleStrategyImpl.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/node/impl/AssignUserRoleStrategyImpl.java @@ -40,9 +40,8 @@ public class AssignUserRoleStrategyImpl implements AssignUserStrategy { // 使用 lambda 表达式和方法引用从 NodeUser 列表中提取角色 ID List roleIds = node.getNodeUserList().stream().map(NodeUser::getId).collect(Collectors.toList()); // 提取 Optional 结果中的数据 - List data = RetOps.of(remoteUserService.getUserIdListByRoleIdList(roleIds)) - .getData() - .orElseGet(Collections::emptyList); + List data = RetOps.of(remoteUserService.getUserIdListByRoleIdList(roleIds)).getData() + .orElseGet(Collections::emptyList); // 返回用户 ID 列表 return new ArrayList<>(data); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/ApproveServiceTask.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/ApproveServiceTask.java index eb62a2436..ee6021294 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/ApproveServiceTask.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/ApproveServiceTask.java @@ -41,16 +41,12 @@ public class ApproveServiceTask implements JavaDelegate { if (refuse != null) { String handler = refuse.getHandler(); if (StrUtil.equals(handler, "TO_NODE")) { - runtimeService.createChangeActivityStateBuilder() - .processInstanceId(processInstanceId) - .moveActivityIdTo(nodeIdO, refuse.getNodeId()) - .changeState(); + runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId) + .moveActivityIdTo(nodeIdO, refuse.getNodeId()).changeState(); } else { - runtimeService.createChangeActivityStateBuilder() - .processInstanceId(processInstanceId) - .moveActivityIdTo(nodeIdO, "end") - .changeState(); + runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId) + .moveActivityIdTo(nodeIdO, "end").changeState(); } } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/CopyServiceTask.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/CopyServiceTask.java index 72f9e5c38..c803988b7 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/CopyServiceTask.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/service/CopyServiceTask.java @@ -46,14 +46,12 @@ public class CopyServiceTask implements JavaDelegate { List userDtoList = node.getNodeUserList(); // 用户ID列表 List userIdList = userDtoList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) - .map(w -> Convert.toStr(w.getId())) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) + .map(w -> Convert.toStr(w.getId())).collect(Collectors.toList()); // 部门ID列表 List deptIdList = userDtoList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) - .map(w -> Convert.toStr(w.getId())) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) + .map(w -> Convert.toStr(w.getId())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(deptIdList)) { @@ -73,9 +71,8 @@ public class CopyServiceTask implements JavaDelegate { // 获取发起人 Object rootUserObj = execution.getVariable("root"); NodeUser rootUser = objectMapper - .readValue(objectMapper.writeValueAsString(rootUserObj), new TypeReference>() { - }) - .get(0); + .readValue(objectMapper.writeValueAsString(rootUserObj), new TypeReference>() { + }).get(0); Map variables = execution.getVariables(); diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/FlowableUtils.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/FlowableUtils.java index 66bd02153..d62ba20e8 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/FlowableUtils.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/FlowableUtils.java @@ -128,7 +128,7 @@ public class FlowableUtils { // 获取子流程用户任务节点 List childUserTaskList = findChildProcessUserTasks( (StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements() - .toArray()[0], + .toArray()[0], null, null); // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 if (childUserTaskList != null && childUserTaskList.size() > 0) { @@ -189,7 +189,7 @@ public class FlowableUtils { if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { List childUserTaskList = iteratorFindChildUserTasks( (FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements() - .toArray()[0]), + .toArray()[0]), runActiveIdList, hasSequenceFlow, null); // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 if (childUserTaskList != null && childUserTaskList.size() > 0) { @@ -240,7 +240,7 @@ public class FlowableUtils { if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { List childUserTaskList = findChildProcessUserTasks( (FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements() - .toArray()[0]), + .toArray()[0]), hasSequenceFlow, null); // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续 if (childUserTaskList != null && childUserTaskList.size() > 0) { @@ -302,12 +302,12 @@ public class FlowableUtils { if (sequenceFlow.getSourceFlowElement() instanceof SubProcess) { dirtyRoads = findChildProcessAllDirtyRoad( (StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements() - .toArray()[0], + .toArray()[0], null, dirtyRoads); // 是否存在子流程上,true 是,false 否 Boolean isInChildProcess = dirtyTargetInChildProcess( (StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements() - .toArray()[0], + .toArray()[0], null, targets, null); if (isInChildProcess) { // 已在子流程上找到,该路线结束 @@ -354,7 +354,7 @@ public class FlowableUtils { if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { dirtyRoads = findChildProcessAllDirtyRoad( (FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements() - .toArray()[0]), + .toArray()[0]), hasSequenceFlow, dirtyRoads); } // 继续迭代 @@ -401,7 +401,7 @@ public class FlowableUtils { if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) { inChildProcess = dirtyTargetInChildProcess( (FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements() - .toArray()[0]), + .toArray()[0]), hasSequenceFlow, targets, inChildProcess); } // 继续迭代 diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/ModelUtil.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/ModelUtil.java index 476461487..0e2b09758 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/ModelUtil.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/utils/ModelUtil.java @@ -28,9 +28,9 @@ import java.util.List; */ @Slf4j public class ModelUtil { + /** * 构建模型 - * * @param nodeDto 前端传输节点 * @return */ @@ -42,17 +42,16 @@ public class ModelUtil { process.setId(flowId); process.setName(processName); - //流程监听器 + // 流程监听器 ArrayList eventListeners = new ArrayList<>(); { - //流程实例监听器 + // 流程实例监听器 EventListener eventListener = new EventListener(); eventListener.setImplementationType("class"); eventListener.setImplementation(FlowProcessEventListener.class.getCanonicalName()); - eventListeners.add(eventListener); } @@ -60,24 +59,20 @@ public class ModelUtil { NodeUtil.addEndNode(nodeDto); - - //创建所有的节点 + // 创建所有的节点 buildAllNode(process, nodeDto, flowId); - //创建所有的内部节点连接线 + // 创建所有的内部节点连接线 buildAllNodeInnerSequence(process, nodeDto, flowId); - //创建节点间连线 + // 创建节点间连线 buildAllNodeOuterSequence(process, nodeDto, null); - //处理分支和下级连线 - + // 处理分支和下级连线 bpmnModel.addProcess(process); return bpmnModel; } - /** * 先创建所有的节点 - * * @param process * @param nodeDto * @param flowId @@ -87,7 +82,6 @@ public class ModelUtil { return; } - List flowElementList = buildNode(nodeDto, flowId); for (FlowElement flowElement : flowElementList) { if (process.getFlowElement(flowElement.getId()) == null) { @@ -95,36 +89,33 @@ public class ModelUtil { } } - //子节点 + // 子节点 Node children = nodeDto.getChildren(); if (NodeTypeEnum.getByValue(nodeDto.getType()).getBranch()) { - //条件分支 + // 条件分支 List branchs = nodeDto.getConditionNodes(); for (Node branch : branchs) { - buildAllNode(process, branch.getChildren(), - flowId); - + buildAllNode(process, branch.getChildren(), flowId); } if (NodeUtil.isNode(children)) { buildAllNode(process, children, flowId); } - } else { + } + else { if (NodeUtil.isNode(children)) { buildAllNode(process, children, flowId); } } - } /** * 先创建所有的内部节点连接线 - * * @param process * @param nodeDto * @param flowId @@ -134,41 +125,37 @@ public class ModelUtil { return; } - //画内部线 + // 画内部线 List flowList = buildInnerSequenceFlow(nodeDto, flowId); for (SequenceFlow sequenceFlow : flowList) { process.addFlowElement(sequenceFlow); } - //子节点 + // 子节点 Node children = nodeDto.getChildren(); - if (NodeTypeEnum.getByValue(nodeDto.getType()).getBranch() ) { - //条件分支 + if (NodeTypeEnum.getByValue(nodeDto.getType()).getBranch()) { + // 条件分支 List branchs = nodeDto.getConditionNodes(); for (Node branch : branchs) { - buildAllNodeInnerSequence(process, branch.getChildren(), - flowId); - + buildAllNodeInnerSequence(process, branch.getChildren(), flowId); } if (NodeUtil.isNode(children)) { buildAllNodeInnerSequence(process, children, flowId); } - } else { + } + else { if (NodeUtil.isNode(children)) { buildAllNodeInnerSequence(process, children, flowId); } } - } - /** * 递归创建节点间连线 - * * @param process 流程 * @param nodeDto 节点对象 * @param nextId @@ -179,85 +166,81 @@ public class ModelUtil { return; } - //子节点 + // 子节点 Node children = nodeDto.getChildren(); - if (NodeTypeEnum.getByValue(nodeDto.getType()).getBranch() ) { -// children = children.getChildren(); - //条件分支 + if (NodeTypeEnum.getByValue(nodeDto.getType()).getBranch()) { + // children = children.getChildren(); + // 条件分支 List branchs = nodeDto.getConditionNodes(); int ord = 1; int size = branchs.size(); for (Node branch : branchs) { - buildAllNodeOuterSequence(process, branch.getChildren(), nodeDto.getTailId()); String expression = null; - if (nodeDto.getType() == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue() ) { + if (nodeDto.getType() == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue()) { if (ord == size) { expression = NodeExpressionStrategyFactory.handleDefaultBranch(branchs, ord - 1); - } else if (nodeDto.getType() == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue() && ord > 1) { + } + else if (nodeDto.getType() == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue() && ord > 1) { expression = NodeExpressionStrategyFactory.handleDefaultBranch(branchs, ord - 1); - } else { + } + else { expression = NodeExpressionStrategyFactory.handle(branch); } } - - //添加连线 + // 添加连线 if (!NodeUtil.isNode(branch.getChildren())) { - //当前分支 没有其他节点了 所有就是网关和网关后面节点直接连线 + // 当前分支 没有其他节点了 所有就是网关和网关后面节点直接连线 SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getId(), nodeDto.getTailId(), - expression, - StrUtil.format("{}->{}", nodeDto.getName(), nodeDto.getName()) - ); + expression, StrUtil.format("{}->{}", nodeDto.getName(), nodeDto.getName())); process.addFlowElement(sequenceFlow); - } else { + } + else { - SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getId(), branch.getChildren().getHeadId(), - expression, - StrUtil.format("{}->{}", nodeDto.getName(), branch.getChildren().getName()) - ); + SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getId(), + branch.getChildren().getHeadId(), expression, + StrUtil.format("{}->{}", nodeDto.getName(), branch.getChildren().getName())); process.addFlowElement(sequenceFlow); } ord++; } - //分支结尾的合并分支节点-》下一个节点 - if (children != null && StrUtil.isNotBlank(children.getHeadId()) && StrUtil.isNotBlank(nodeDto.getTailId())) { + // 分支结尾的合并分支节点-》下一个节点 + if (children != null && StrUtil.isNotBlank(children.getHeadId()) + && StrUtil.isNotBlank(nodeDto.getTailId())) { - SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getTailId(), children.getHeadId(), - "", - StrUtil.format("{}->{}", nodeDto.getName(), children.getName()) - ); + SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getTailId(), children.getHeadId(), "", + StrUtil.format("{}->{}", nodeDto.getName(), children.getName())); process.addFlowElement(sequenceFlow); - } else if (StrUtil.isAllNotBlank(nodeDto.getTailId(), nextId)) { - SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getTailId(), nextId, - "", - StrUtil.format("{}->{}", nodeDto.getName(), nextId) - ); + } + else if (StrUtil.isAllNotBlank(nodeDto.getTailId(), nextId)) { + SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeDto.getTailId(), nextId, "", + StrUtil.format("{}->{}", nodeDto.getName(), nextId)); process.addFlowElement(sequenceFlow); } - buildAllNodeOuterSequence(process, children, nextId); - - } else { - //添加连线 + } + else { + // 添加连线 if (NodeUtil.isNode(children)) { List sequenceFlowList = buildSequenceFlow(children, nodeDto, ""); for (SequenceFlow sequenceFlow : sequenceFlowList) { process.addFlowElement(sequenceFlow); } buildAllNodeOuterSequence(process, children, nextId); - } else if (nodeDto.getType() != NodeTypeEnum.END.getValue().intValue()) { - SequenceFlow seq = buildSingleSequenceFlow(nodeDto.getTailId(), nextId, "", StrUtil.format("{}->{}", - nodeDto.getName(), nextId)); + } + else if (nodeDto.getType() != NodeTypeEnum.END.getValue().intValue()) { + SequenceFlow seq = buildSingleSequenceFlow(nodeDto.getTailId(), nextId, "", + StrUtil.format("{}->{}", nodeDto.getName(), nextId)); process.addFlowElement(seq); @@ -266,11 +249,9 @@ public class ModelUtil { } - /** * 构建节点 - * - * @param node 前端传输节点 + * @param node 前端传输节点 * @param flowId * @return */ @@ -280,13 +261,13 @@ public class ModelUtil { return flowElementList; } - //设置节点的连线头节点 + // 设置节点的连线头节点 node.setHeadId(node.getId()); - //设置节点的连线尾节点 + // 设置节点的连线尾节点 node.setTailId(node.getId()); node.setName(StrUtil.format("{}[{}]", node.getName(), RandomUtil.randomNumbers(5))); - //存储节点数据 + // 存储节点数据 RemoteFlowTaskService remoteFlowTaskService = SpringUtil.getBean(RemoteFlowTaskService.class); ProcessNodeDataDto processNodeDataDto = new ProcessNodeDataDto(); processNodeDataDto.setFlowId(flowId); @@ -294,32 +275,31 @@ public class ModelUtil { processNodeDataDto.setData(JSONUtil.toJsonStr(node)); remoteFlowTaskService.saveNodeOriData(processNodeDataDto); - //开始 + // 开始 if (node.getType() == NodeTypeEnum.ROOT.getValue().intValue()) { flowElementList.addAll(buildStartNode(node)); } - //结束 + // 结束 if (node.getType() == NodeTypeEnum.END.getValue().intValue()) { flowElementList.add(buildEndNode(node, false)); } - //审批 + // 审批 if (node.getType() == NodeTypeEnum.APPROVAL.getValue().intValue()) { - flowElementList.addAll(buildApproveNode(node)); } - //抄送 + // 抄送 if (node.getType() == NodeTypeEnum.CC.getValue().intValue()) { flowElementList.add(buildCCNode(node)); } - //条件分支 + // 条件分支 if (node.getType() == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue()) { flowElementList.addAll(buildInclusiveGatewayNode(node)); } - //并行分支 + // 并行分支 if (node.getType() == NodeTypeEnum.PARALLEL_GATEWAY.getValue().intValue()) { flowElementList.addAll(buildParallelGatewayNode(node)); } @@ -328,9 +308,7 @@ public class ModelUtil { } /** - * 构建开始节点 - * 添加一个自动完成任务的用户任务节点 - * + * 构建开始节点 添加一个自动完成任务的用户任务节点 * @param node 前端传输节点 * @return */ @@ -338,22 +316,17 @@ public class ModelUtil { List flowElementList = new ArrayList<>(); - StartEvent startEvent = new StartEvent(); startEvent.setId(node.getId()); startEvent.setName(node.getName()); flowElementList.add(startEvent); - - - return flowElementList; } /** * 构建审批节点 - * * @param node * @return */ @@ -361,21 +334,17 @@ public class ModelUtil { List flowElementList = new ArrayList<>(); node.setTailId(StrUtil.format("approve_service_task_{}", node.getId())); - - //创建了任务执行监听器 - //先执行指派人 后创建 - //https://tkjohn.github.io/flowable-userguide/#eventDispatcher + // 创建了任务执行监听器 + // 先执行指派人 后创建 + // https://tkjohn.github.io/flowable-userguide/#eventDispatcher FlowableListener createListener = new FlowableListener(); createListener.setImplementation(ApprovalCreateListener.class.getCanonicalName()); createListener.setImplementationType("class"); createListener.setEvent("create"); - UserTask userTask = buildUserTask(node, createListener); flowElementList.add(userTask); - - ServiceTask serviceTask = new ServiceTask(); serviceTask.setId(StrUtil.format("approve_service_task_{}", node.getId())); serviceTask.setName(StrUtil.format("{}_服务任务", node.getName())); @@ -383,36 +352,31 @@ public class ModelUtil { serviceTask.setImplementation(ApproveServiceTask.class.getCanonicalName()); serviceTask.setAsynchronous(false); - - flowElementList.add(serviceTask); - { - - //执行人处理 + // 执行人处理 String inputDataItem = "${multiInstanceHandler.resolveAssignee(execution)}"; - - //串行 + // 串行 boolean isSequential = true; Integer multipleMode = node.getMultipleMode(); - //多人 + // 多人 if ((multipleMode == ProcessInstanceConstant.MULTIPLE_MODE_AL_SAME)) { - //并行会签 + // 并行会签 isSequential = false; } if ((multipleMode == ProcessInstanceConstant.MULTIPLE_MODE_ALL_SORT)) { - //串行会签 + // 串行会签 } if ((multipleMode == ProcessInstanceConstant.MULTIPLE_MODE_ONE)) { - //或签 + // 或签 isSequential = false; } @@ -431,11 +395,8 @@ public class ModelUtil { return flowElementList; } - - /** * 创建用户任务 - * * @param node 前端传输节点 * @return */ @@ -459,13 +420,11 @@ public class ModelUtil { /** * 构建简单的包容网关 - * * @param node * @return */ private static FlowElement buildSimpleExclusiveGatewayNode(Node node) { - ExclusiveGateway exclusiveGateway = new ExclusiveGateway(); exclusiveGateway.setId(node.getId()); exclusiveGateway.setName(node.getName()); @@ -474,10 +433,8 @@ public class ModelUtil { } - /** * 构建并行网关 - * * @param node * @return */ @@ -490,7 +447,7 @@ public class ModelUtil { inclusiveGateway.setName(node.getName()); flowElementList.add(inclusiveGateway); - //合并网关 + // 合并网关 ParallelGateway parallelGateway = new ParallelGateway(); parallelGateway.setId(StrUtil.format("{}_merge_gateway", node.getId())); parallelGateway.setName(StrUtil.format("{}_合并网关", node.getName())); @@ -501,7 +458,6 @@ public class ModelUtil { /** * 构建包容网关 - * * @param node * @return */ @@ -516,7 +472,7 @@ public class ModelUtil { inclusiveGateway.setName(node.getName()); flowElementList.add(inclusiveGateway); - //合并网关 + // 合并网关 InclusiveGateway gateway = new InclusiveGateway(); gateway.setId(StrUtil.format("{}_merge_gateway", node.getId())); gateway.setName(StrUtil.format("{}_合并网关", node.getName())); @@ -527,8 +483,7 @@ public class ModelUtil { /** * 构建结束节点 - * - * @param node 前端传输节点 + * @param node 前端传输节点 * @param terminateAll * @return */ @@ -537,7 +492,6 @@ public class ModelUtil { endEvent.setId(node.getId()); endEvent.setName(node.getName()); - List definitionList = new ArrayList<>(); TerminateEventDefinition definition = new TerminateEventDefinition(); definition.setTerminateAll(terminateAll); @@ -549,16 +503,14 @@ public class ModelUtil { /** * 创建连接线 - * - * @param node 子级节点 + * @param node 子级节点 * @param parentNode 父级节点 * @param expression * @return 所有连接线 */ - private static List buildSequenceFlow(Node node, Node parentNode, String expression - ) { + private static List buildSequenceFlow(Node node, Node parentNode, String expression) { List sequenceFlowList = new ArrayList<>(); - //没有子级了 + // 没有子级了 if (!NodeUtil.isNode(node)) { return sequenceFlowList; } @@ -569,19 +521,15 @@ public class ModelUtil { return sequenceFlowList; } - SequenceFlow sequenceFlow = buildSingleSequenceFlow(parentNode.getTailId(), node.getHeadId(), expression, - StrUtil.format("{}->{}", parentNode.getName(), node.getName()) - ); + StrUtil.format("{}->{}", parentNode.getName(), node.getName())); sequenceFlowList.add(sequenceFlow); - return sequenceFlowList; } /** * 生成扩展数据 - * * @param key * @param val * @return @@ -596,7 +544,6 @@ public class ModelUtil { /** * 创建抄送节点 - * * @param node * @return */ @@ -612,9 +559,8 @@ public class ModelUtil { ExtensionElement e = new ExtensionElement(); { - e.setName("flowable:failedJobRetryTimeCycle"); - //上面的例子会让作业执行器重试5次,并在每次重试前等待1分钟。 + // 上面的例子会让作业执行器重试5次,并在每次重试前等待1分钟。 e.setElementText("R5/PT1M"); } @@ -623,57 +569,42 @@ public class ModelUtil { return serviceTask; } - - /** * 创建连接线 - * - * @param node 父级节点 + * @param node 父级节点 * @param flowId * @return 所有连接线 */ - private static List buildInnerSequenceFlow(Node node, String flowId - ) { - + private static List buildInnerSequenceFlow(Node node, String flowId) { List sequenceFlowList = new ArrayList<>(); if (!NodeUtil.isNode(node)) { return sequenceFlowList; } - String nodeId = node.getId(); if (StrUtil.hasBlank(nodeId)) { return sequenceFlowList; } - if (node.getType() == NodeTypeEnum.APPROVAL.getValue().intValue()) { - String gatewayId = StrUtil.format("approve_service_task_{}", nodeId); - { SequenceFlow sequenceFlow = buildSingleSequenceFlow(nodeId, gatewayId, "${12==12}", null); sequenceFlowList.add(sequenceFlow); } - } - - - - return sequenceFlowList; } /** * 创建单个连接线 - * - * @param pId 父级id - * @param childId 子级id + * @param pId 父级id + * @param childId 子级id * @param expression 表达式 * @param name * @return @@ -693,5 +624,4 @@ public class ModelUtil { return sequenceFlow; } - } diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java index 7ba7b77ba..5ccce7389 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java @@ -12,29 +12,8 @@ */ package org.flowable.common.engine.impl; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.time.Duration; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.ServiceLoader; -import java.util.Set; - -import javax.naming.InitialContext; -import javax.sql.DataSource; - +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.builder.xml.XMLConfigBuilder; import org.apache.ibatis.builder.xml.XMLMapperBuilder; @@ -47,27 +26,7 @@ import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.managed.ManagedTransactionFactory; -import org.apache.ibatis.type.ArrayTypeHandler; -import org.apache.ibatis.type.BigDecimalTypeHandler; -import org.apache.ibatis.type.BlobInputStreamTypeHandler; -import org.apache.ibatis.type.BlobTypeHandler; -import org.apache.ibatis.type.BooleanTypeHandler; -import org.apache.ibatis.type.ByteTypeHandler; -import org.apache.ibatis.type.ClobTypeHandler; -import org.apache.ibatis.type.DateOnlyTypeHandler; -import org.apache.ibatis.type.DateTypeHandler; -import org.apache.ibatis.type.DoubleTypeHandler; -import org.apache.ibatis.type.FloatTypeHandler; -import org.apache.ibatis.type.IntegerTypeHandler; -import org.apache.ibatis.type.JdbcType; -import org.apache.ibatis.type.LongTypeHandler; -import org.apache.ibatis.type.NClobTypeHandler; -import org.apache.ibatis.type.NStringTypeHandler; -import org.apache.ibatis.type.ShortTypeHandler; -import org.apache.ibatis.type.SqlxmlTypeHandler; -import org.apache.ibatis.type.StringTypeHandler; -import org.apache.ibatis.type.TimeOnlyTypeHandler; -import org.apache.ibatis.type.TypeHandlerRegistry; +import org.apache.ibatis.type.*; import org.flowable.common.engine.api.FlowableException; import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; import org.flowable.common.engine.api.delegate.event.FlowableEventDispatcher; @@ -78,25 +37,10 @@ import org.flowable.common.engine.impl.cfg.CommandExecutorImpl; import org.flowable.common.engine.impl.cfg.IdGenerator; import org.flowable.common.engine.impl.cfg.TransactionContextFactory; import org.flowable.common.engine.impl.cfg.standalone.StandaloneMybatisTransactionContextFactory; -import org.flowable.common.engine.impl.db.CommonDbSchemaManager; -import org.flowable.common.engine.impl.db.DbSqlSessionFactory; -import org.flowable.common.engine.impl.db.LogSqlExecutionTimePlugin; -import org.flowable.common.engine.impl.db.MybatisTypeAliasConfigurator; -import org.flowable.common.engine.impl.db.MybatisTypeHandlerConfigurator; -import org.flowable.common.engine.impl.db.SchemaManager; +import org.flowable.common.engine.impl.db.*; import org.flowable.common.engine.impl.event.EventDispatchAction; import org.flowable.common.engine.impl.event.FlowableEventDispatcherImpl; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandConfig; -import org.flowable.common.engine.impl.interceptor.CommandContextFactory; -import org.flowable.common.engine.impl.interceptor.CommandContextInterceptor; -import org.flowable.common.engine.impl.interceptor.CommandExecutor; -import org.flowable.common.engine.impl.interceptor.CommandInterceptor; -import org.flowable.common.engine.impl.interceptor.CrDbRetryInterceptor; -import org.flowable.common.engine.impl.interceptor.DefaultCommandInvoker; -import org.flowable.common.engine.impl.interceptor.LogInterceptor; -import org.flowable.common.engine.impl.interceptor.SessionFactory; -import org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor; +import org.flowable.common.engine.impl.interceptor.*; import org.flowable.common.engine.impl.lock.LockManager; import org.flowable.common.engine.impl.lock.LockManagerImpl; import org.flowable.common.engine.impl.logging.LoggingListener; @@ -106,13 +50,7 @@ import org.flowable.common.engine.impl.persistence.GenericManagerFactory; import org.flowable.common.engine.impl.persistence.StrongUuidGenerator; import org.flowable.common.engine.impl.persistence.cache.EntityCache; import org.flowable.common.engine.impl.persistence.cache.EntityCacheImpl; -import org.flowable.common.engine.impl.persistence.entity.ByteArrayEntityManager; -import org.flowable.common.engine.impl.persistence.entity.ByteArrayEntityManagerImpl; -import org.flowable.common.engine.impl.persistence.entity.Entity; -import org.flowable.common.engine.impl.persistence.entity.PropertyEntityManager; -import org.flowable.common.engine.impl.persistence.entity.PropertyEntityManagerImpl; -import org.flowable.common.engine.impl.persistence.entity.TableDataManager; -import org.flowable.common.engine.impl.persistence.entity.TableDataManagerImpl; +import org.flowable.common.engine.impl.persistence.entity.*; import org.flowable.common.engine.impl.persistence.entity.data.ByteArrayDataManager; import org.flowable.common.engine.impl.persistence.entity.data.PropertyDataManager; import org.flowable.common.engine.impl.persistence.entity.data.impl.MybatisByteArrayDataManager; @@ -126,8 +64,14 @@ import org.flowable.eventregistry.api.EventRegistryEventConsumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; +import javax.naming.InitialContext; +import javax.sql.DataSource; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.sql.*; +import java.time.Duration; +import java.util.*; /** * 覆盖原有配置支持国产化数据库 @@ -506,7 +450,7 @@ public abstract class AbstractEngineConfiguration { databaseTypeMappings.setProperty("DB2/PTX", DATABASE_TYPE_DB2); databaseTypeMappings.setProperty("DB2/2", DATABASE_TYPE_DB2); databaseTypeMappings.setProperty("DB2 UDB AS400", DATABASE_TYPE_DB2); - databaseTypeMappings.setProperty("DM DBMS",DATABASE_TYPE_MYSQL);//扩展支持达梦数据 + databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_MYSQL);// 扩展支持达梦数据 databaseTypeMappings.setProperty(PRODUCT_NAME_CRDB, DATABASE_TYPE_COCKROACHDB); return databaseTypeMappings; } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java index 6bb830147..5d35945d9 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java @@ -115,7 +115,6 @@ public interface RemoteFlowEngineService { @PostMapping("/task/delegateTask") R delegateTask(@RequestBody TaskParamDto taskParamDto); - /** * 查询任务 * @param taskId 任务ID diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/constant/IBaseEnum.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/constant/IBaseEnum.java index ce365d614..d2dd795fb 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/constant/IBaseEnum.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/constant/IBaseEnum.java @@ -61,10 +61,8 @@ public interface IBaseEnum { Objects.requireNonNull(label); EnumSet allEnums = EnumSet.allOf(clazz); // 获取类型下的所有枚举 String finalLabel = label; - E matchEnum = allEnums.stream() - .filter(e -> ObjectUtil.equal(e.getLabel(), finalLabel)) - .findFirst() - .orElse(null); + E matchEnum = allEnums.stream().filter(e -> ObjectUtil.equal(e.getLabel(), finalLabel)).findFirst() + .orElse(null); Object value = null; if (matchEnum != null) { diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/dto/SelectValue.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/dto/SelectValue.java index 890d27e9d..0632acbab 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/dto/SelectValue.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/dto/SelectValue.java @@ -10,8 +10,8 @@ import lombok.Data; @Data public class SelectValue { - private String key; + private String key; - private String value; + private String value; } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/config/SequenceConfiguration.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/config/SequenceConfiguration.java index eee64532d..73c1ef0b9 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/config/SequenceConfiguration.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/config/SequenceConfiguration.java @@ -28,12 +28,9 @@ public class SequenceConfiguration { @Bean public Sequence flowSequence(DataSource dataSource, SequenceDbProperties properties) { return DbSeqBuilder.create() - .bizName(() -> String.format("flow_%s_%s", TenantContextHolder.getTenantId(), DateUtil.today())) - .dataSource(dataSource) - .step(properties.getStep()) - .retryTimes(properties.getRetryTimes()) - .tableName(properties.getTableName()) - .build(); + .bizName(() -> String.format("flow_%s_%s", TenantContextHolder.getTenantId(), DateUtil.today())) + .dataSource(dataSource).step(properties.getStep()).retryTimes(properties.getRetryTimes()) + .tableName(properties.getTableName()).build(); } } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IProcessInstanceService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IProcessInstanceService.java index 96685c1d3..ad5e46183 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IProcessInstanceService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IProcessInstanceService.java @@ -52,7 +52,6 @@ public interface IProcessInstanceService { */ R queryMineCC(TaskQueryParamDto taskQueryParamDto); - /** * 格式化流程显示 * @param nodeFormatParamVo diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/CombinationGroupServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/CombinationGroupServiceImpl.java index 50e0a9b15..1f50e14e4 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/CombinationGroupServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/CombinationGroupServiceImpl.java @@ -38,12 +38,8 @@ public class CombinationGroupServiceImpl implements ICombinationGroupService { */ @Override public R listGroupWithProcess(Page page, Long groupId) { - return R.ok(processService.lambdaQuery() - .eq(Process::getGroupId, groupId) - .eq(Process::getHidden, false) - .orderByAsc(Process::getSort) - .orderByDesc(Process::getCreateTime) - .page(page)); + return R.ok(processService.lambdaQuery().eq(Process::getGroupId, groupId).eq(Process::getHidden, false) + .orderByAsc(Process::getSort).orderByDesc(Process::getCreateTime).page(page)); } /** @@ -56,24 +52,16 @@ public class CombinationGroupServiceImpl implements ICombinationGroupService { List formGroupVos = new LinkedList<>(); - List processGroupList = processGroupService.lambdaQuery() - .orderByAsc(ProcessGroup::getSort) - .list(); + List processGroupList = processGroupService.lambdaQuery().orderByAsc(ProcessGroup::getSort) + .list(); processGroupList.forEach(group -> { - FormGroupVo formGroupVo = FormGroupVo.builder() - .id(group.getId()) - .name(group.getGroupName()) - .items(new LinkedList<>()) - .build(); + FormGroupVo formGroupVo = FormGroupVo.builder().id(group.getId()).name(group.getGroupName()) + .items(new LinkedList<>()).build(); formGroupVos.add(formGroupVo); - List processList = processService.lambdaQuery() - .eq(Process::getGroupId, group.getId()) - .eq(Process::getHidden, false) - .eq(Process::getStop, false) - .orderByAsc(Process::getSort) - .list(); + List processList = processService.lambdaQuery().eq(Process::getGroupId, group.getId()) + .eq(Process::getHidden, false).eq(Process::getStop, false).orderByAsc(Process::getSort).list(); Map existMap = new HashMap<>(); @@ -81,10 +69,9 @@ public class CombinationGroupServiceImpl implements ICombinationGroupService { List idList = processList.stream().map(Process::getId).collect(Collectors.toList()); // 查询发起人集合 List processStarterList = processStarterService.lambdaQuery() - .in(ProcessStarter::getProcessId, idList) - .list(); + .in(ProcessStarter::getProcessId, idList).list(); Map> groupmap = processStarterList.stream() - .collect(Collectors.groupingBy(ProcessStarter::getProcessId)); + .collect(Collectors.groupingBy(ProcessStarter::getProcessId)); for (Process process : processList) { List processStarters = groupmap.get(process.getId()); @@ -92,17 +79,15 @@ public class CombinationGroupServiceImpl implements ICombinationGroupService { existMap.put(process.getId(), true); continue; } - boolean match = processStarters.stream() - .anyMatch(w -> w.getTypeId().longValue() == user.getId() - && w.getType().equals(NodeUserTypeEnum.USER.getKey())); + boolean match = processStarters.stream().anyMatch(w -> w.getTypeId().longValue() == user.getId() + && w.getType().equals(NodeUserTypeEnum.USER.getKey())); if (match) { existMap.put(process.getId(), true); continue; } Set deptIdSet = processStarters.stream() - .filter(w -> w.getType().equals(NodeUserTypeEnum.DEPT.getKey())) - .map(w -> w.getTypeId()) - .collect(Collectors.toSet()); + .filter(w -> w.getType().equals(NodeUserTypeEnum.DEPT.getKey())).map(w -> w.getTypeId()) + .collect(Collectors.toSet()); existMap.put(process.getId(), deptIdSet.contains(user.getDeptId())); @@ -117,14 +102,9 @@ public class CombinationGroupServiceImpl implements ICombinationGroupService { } formGroupVo.getItems() - .add(FormGroupVo.FlowVo.builder() - .flowId(process.getFlowId()) - .name(process.getName()) - .logo(process.getLogo()) - .remark(process.getRemark()) - .stop(process.getStop()) - .updated(process.getUpdateTime()) - .build()); + .add(FormGroupVo.FlowVo.builder().flowId(process.getFlowId()).name(process.getName()) + .logo(process.getLogo()).remark(process.getRemark()).stop(process.getStop()) + .updated(process.getUpdateTime()).build()); }); }); return R.ok(formGroupVos); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java index 08b5c4352..083db98f3 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java @@ -58,18 +58,14 @@ public class OrgServiceImpl implements IOrgService { orgs.add(orgTreeVo); } - Dict dict = Dict.create() - .set("roleList", orgs) - .set("childDepartments", orgs) - .set("employees", new ArrayList<>()); + Dict dict = Dict.create().set("roleList", orgs).set("childDepartments", orgs).set("employees", + new ArrayList<>()); return R.ok(dict); } - Dict dict = Dict.create() - .set("titleDepartments", new ArrayList<>()) - .set("roleList", new ArrayList<>()) - .set("employees", new ArrayList<>()); + Dict dict = Dict.create().set("titleDepartments", new ArrayList<>()).set("roleList", new ArrayList<>()) + .set("employees", new ArrayList<>()); List deptList = remoteDeptService.getAllDept().getData(); @@ -120,20 +116,16 @@ public class OrgServiceImpl implements IOrgService { */ @Override public R getOrgTreeUser(String userName) { - return R.ok(RetOps.of(remoteUserService.getUserListByUserName(userName)) - .getData() - .orElseGet(ArrayList::new) - .stream() - .map(user -> { - OrgTreeVo orgTreeVo = new OrgTreeVo(); - orgTreeVo.setId(user.getUserId()); - orgTreeVo.setName(user.getUsername()); - orgTreeVo.setType(NodeUserTypeEnum.USER.getKey()); - orgTreeVo.setSelected(false); - orgTreeVo.setAvatar(user.getAvatar()); - return orgTreeVo; - }) - .collect(Collectors.toList())); + return R.ok(RetOps.of(remoteUserService.getUserListByUserName(userName)).getData().orElseGet(ArrayList::new) + .stream().map(user -> { + OrgTreeVo orgTreeVo = new OrgTreeVo(); + orgTreeVo.setId(user.getUserId()); + orgTreeVo.setName(user.getUsername()); + orgTreeVo.setType(NodeUserTypeEnum.USER.getKey()); + orgTreeVo.setSelected(false); + orgTreeVo.setAvatar(user.getAvatar()); + return orgTreeVo; + }).collect(Collectors.toList())); } } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessCopyServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessCopyServiceImpl.java index 3c246a47c..2a3c56242 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessCopyServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessCopyServiceImpl.java @@ -68,8 +68,9 @@ public class ProcessCopyServiceImpl extends ServiceImpl formPerms = node.getFormPerms(); - List jsonObjectList = objectMapper.readValue(oaForms.getFormItems(), new TypeReference>() { - }); + List jsonObjectList = objectMapper.readValue(oaForms.getFormItems(), + new TypeReference>() { + }); for (FormItemVO formItemVO : jsonObjectList) { String fid = formItemVO.getId(); String perm = formPerms.get(fid); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java index 40aa624cd..13300b4ae 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java @@ -73,10 +73,8 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { processInstanceParamDto.setStartUserId(String.valueOf(user.getId())); Map paramMap = processInstanceParamDto.getParamMap(); - Dict rootUser = Dict.create() - .set("id", user.getId()) - .set("name", user.getUsername()) - .set("type", NodeUserTypeEnum.USER.getKey()); + Dict rootUser = Dict.create().set("id", user.getId()).set("name", user.getUsername()).set("type", + NodeUserTypeEnum.USER.getKey()); paramMap.put("root", CollUtil.newArrayList(rootUser)); return flowEngineService.startProcess(processInstanceParamDto); } @@ -96,37 +94,29 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { return r; } - Set processInstanceIdSet = r.getData() - .getRecords() - .stream() - .map(TaskDto::getProcessInstanceId) - .collect(Collectors.toSet()); + Set processInstanceIdSet = r.getData().getRecords().stream().map(TaskDto::getProcessInstanceId) + .collect(Collectors.toSet()); // 流程实例记录 List processInstanceRecordList = processInstanceRecordService.lambdaQuery() - .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet) - .list(); + .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet).list(); // 发起人 - List startUserList = processInstanceRecordList.stream() - .map(ProcessInstanceRecord::getUserId) - .map(userId -> userService.getUserById(userId).getData()) - .collect(Collectors.toList()); + List startUserList = processInstanceRecordList.stream().map(ProcessInstanceRecord::getUserId) + .map(userId -> userService.getUserById(userId).getData()).collect(Collectors.toList()); Page pageResultDto = r.getData(); List taskDtoList = new ArrayList<>(); for (TaskDto record : r.getData().getRecords()) { ProcessInstanceRecord processInstanceRecord = processInstanceRecordList.stream() - .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())) - .findAny() - .orElse(null); + .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())).findAny() + .orElse(null); if (processInstanceRecord != null) { record.setProcessName(processInstanceRecord.getName()); SysUser startUser = startUserList.stream() - .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()) - .findAny() - .orElse(null); + .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()).findAny() + .orElse(null); record.setRootUserId(processInstanceRecord.getUserId()); record.setGroupName(processInstanceRecord.getGroupName()); @@ -160,37 +150,31 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { } - Set processInstanceIdSet = records.stream() - .map(TaskDto::getProcessInstanceId) - .collect(Collectors.toSet()); + Set processInstanceIdSet = records.stream().map(TaskDto::getProcessInstanceId) + .collect(Collectors.toSet()); // 流程实例记录 List processInstanceRecordList = processInstanceRecordService.lambdaQuery() - .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet) - .list(); + .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet).list(); // 发起人 - List startUserList = processInstanceRecordList.stream() - .map(ProcessInstanceRecord::getUserId) - .map(userId -> userService.getUserById(userId).getData()) - .collect(Collectors.toList()); + List startUserList = processInstanceRecordList.stream().map(ProcessInstanceRecord::getUserId) + .map(userId -> userService.getUserById(userId).getData()).collect(Collectors.toList()); List taskDtoList = new ArrayList<>(); for (TaskDto record : records) { ProcessInstanceRecord processInstanceRecord = processInstanceRecordList.stream() - .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())) - .findAny() - .orElse(null); + .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())).findAny() + .orElse(null); if (processInstanceRecord != null) { record.setProcessName(processInstanceRecord.getName()); SysUser startUser = startUserList.stream() - .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()) - .findAny() - .orElse(null); + .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()).findAny() + .orElse(null); record.setRootUserId(processInstanceRecord.getUserId()); record.setGroupName(processInstanceRecord.getGroupName()); @@ -214,11 +198,10 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { */ @Override public R end(String processsInstanceId) { - processInstanceRecordService.lambdaUpdate() - .set(ProcessInstanceRecord::getEndTime, new Date()) - .set(ProcessInstanceRecord::getStatus, NodeStatusEnum.YJS.getCode()) - .eq(ProcessInstanceRecord::getProcessInstanceId, processsInstanceId) - .update(new ProcessInstanceRecord()); + processInstanceRecordService.lambdaUpdate().set(ProcessInstanceRecord::getEndTime, new Date()) + .set(ProcessInstanceRecord::getStatus, NodeStatusEnum.YJS.getCode()) + .eq(ProcessInstanceRecord::getProcessInstanceId, processsInstanceId) + .update(new ProcessInstanceRecord()); return R.ok(); } @@ -233,13 +216,15 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { long userId = SecurityUtils.getUser().getId(); Page instanceRecordPage = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getUserId, userId) - .eq(ProcessInstanceRecord::getStatus, taskQueryParamDto.getStatus()) - .between(ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()), ProcessInstanceRecord::getCreateTime, - ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[0] : null, - ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[1] : null) - .orderByDesc(ProcessInstanceRecord::getCreateTime) - .page(new Page<>(taskQueryParamDto.getPageNum(), taskQueryParamDto.getPageSize())); + .eq(ProcessInstanceRecord::getUserId, userId) + .eq(ProcessInstanceRecord::getStatus, taskQueryParamDto.getStatus()) + .between(ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()), ProcessInstanceRecord::getCreateTime, + ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[0] + : null, + ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[1] + : null) + .orderByDesc(ProcessInstanceRecord::getCreateTime) + .page(new Page<>(taskQueryParamDto.getPageNum(), taskQueryParamDto.getPageSize())); return R.ok(instanceRecordPage); } @@ -254,13 +239,12 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { long userId = SecurityUtils.getUser().getId(); - Page page = processCopyService.lambdaQuery() - .eq(ProcessCopy::getUserId, userId) - .between(ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()), ProcessCopy::getCreateTime, - ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[0] : null, - ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[1] : null) - .orderByDesc(ProcessCopy::getNodeTime) - .page(new Page<>(taskQueryParamDto.getPageNum(), taskQueryParamDto.getPageSize())); + Page page = processCopyService.lambdaQuery().eq(ProcessCopy::getUserId, userId).between( + ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()), ProcessCopy::getCreateTime, + ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[0] : null, + ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime()) ? taskQueryParamDto.getTaskTime()[1] : null) + .orderByDesc(ProcessCopy::getNodeTime) + .page(new Page<>(taskQueryParamDto.getPageNum(), taskQueryParamDto.getPageSize())); List records = page.getRecords(); @@ -268,16 +252,12 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { if (CollUtil.isNotEmpty(records)) { // 发起人 - List startUserList = records.stream() - .map(ProcessCopy::getStartUserId) - .map(id -> userService.getUserById(id).getData()) - .collect(Collectors.toList()); + List startUserList = records.stream().map(ProcessCopy::getStartUserId) + .map(id -> userService.getUserById(id).getData()).collect(Collectors.toList()); for (ProcessCopyVo record : processCopyVoList) { SysUser startUser = startUserList.stream() - .filter(w -> w.getUserId().longValue() == record.getStartUserId()) - .findAny() - .orElse(null); + .filter(w -> w.getUserId().longValue() == record.getStartUserId()).findAny().orElse(null); record.setStartUserName(startUser.getUsername()); } } @@ -289,7 +269,6 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { return R.ok(p); } - /** * 格式化流程显示 * @param nodeFormatParamVo @@ -306,8 +285,7 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { if (StrUtil.isBlankIfStr(flowId) && StrUtil.isNotBlank(processInstanceId)) { ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); flowId = processInstanceRecord.getFlowId(); } @@ -318,17 +296,15 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { R> r = flowEngineService.queryTaskVariables(variableQueryParamDto); if (!r.isOk()) { ProcessNodeRecordAssignUser processNodeRecordAssignUser = processNodeRecordAssignUserService - .lambdaQuery() - .eq(ProcessNodeRecordAssignUser::getTaskId, nodeFormatParamVo.getTaskId()) - .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.YJS.getCode()) - .last("limit 1") - .orderByDesc(ProcessNodeRecordAssignUser::getEndTime) - .one(); + .lambdaQuery().eq(ProcessNodeRecordAssignUser::getTaskId, nodeFormatParamVo.getTaskId()) + .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.YJS.getCode()).last("limit 1") + .orderByDesc(ProcessNodeRecordAssignUser::getEndTime).one(); String data = processNodeRecordAssignUser.getData(); - Map variableMap = objectMapper.readValue(data, new TypeReference>() { - }); + Map variableMap = objectMapper.readValue(data, + new TypeReference>() { + }); variableMap.putAll(paramMap); paramMap.putAll(variableMap); } @@ -344,12 +320,10 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { if (StrUtil.isNotBlank(processInstanceId)) { List processNodeRecordList = processNodeRecordService.lambdaQuery() - .eq(ProcessNodeRecord::getProcessInstanceId, processInstanceId) - .eq(ProcessNodeRecord::getStatus, NodeStatusEnum.YJS.getCode()) - .list(); - Set collect = processNodeRecordList.stream() - .map(ProcessNodeRecord::getNodeId) - .collect(Collectors.toSet()); + .eq(ProcessNodeRecord::getProcessInstanceId, processInstanceId) + .eq(ProcessNodeRecord::getStatus, NodeStatusEnum.YJS.getCode()).list(); + Set collect = processNodeRecordList.stream().map(ProcessNodeRecord::getNodeId) + .collect(Collectors.toSet()); completeNodeSet.addAll(collect); } @@ -373,8 +347,7 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { @Override public R detail(String processInstanceId) { ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); Process oaForms = processService.getByFlowId(processInstanceRecord.getFlowId()); if (oaForms == null) { @@ -391,8 +364,9 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { Node nodeDto = objectMapper.readValue(process, Node.class); Map formPerms1 = nodeDto.getFormPerms(); - List jsonObjectList = objectMapper.readValue(oaForms.getFormItems(), new TypeReference>() { - }); + List jsonObjectList = objectMapper.readValue(oaForms.getFormItems(), + new TypeReference>() { + }); for (FormItemVO formItemVO : jsonObjectList) { String id = formItemVO.getId(); String perm = formPerms1.get(id); @@ -433,11 +407,9 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { } } - Dict set = Dict.create() - .set("processInstanceId", processInstanceId) - .set("process", oaForms.getProcess()) + Dict set = Dict.create().set("processInstanceId", processInstanceId).set("process", oaForms.getProcess()) - .set("formItems", jsonObjectList); + .set("formItems", jsonObjectList); return R.ok(set); } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeDataServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeDataServiceImpl.java index 8691e7b0b..a18db5d55 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeDataServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeDataServiceImpl.java @@ -45,14 +45,11 @@ public class ProcessNodeDataServiceImpl extends ServiceImpl getNodeData(String flowId, String nodeId) { - Optional processNodeDataOptional = this.lambdaQuery() - .eq(ProcessNodeData::getFlowId, flowId) - .eq(ProcessNodeData::getNodeId, nodeId) - .oneOpt(); + Optional processNodeDataOptional = this.lambdaQuery().eq(ProcessNodeData::getFlowId, flowId) + .eq(ProcessNodeData::getNodeId, nodeId).oneOpt(); Node node = processNodeDataOptional - .map(processNodeData -> JSONUtil.toBean(processNodeData.getData(), Node.class)) - .orElse(null); + .map(processNodeData -> JSONUtil.toBean(processNodeData.getData(), Node.class)).orElse(null); return R.ok(node); } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordAssignUserServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordAssignUserServiceImpl.java index 3356dfd7b..d4ef450ed 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordAssignUserServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordAssignUserServiceImpl.java @@ -35,10 +35,8 @@ public class ProcessNodeRecordAssignUserServiceImpl public R addAssignUser(ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { if (StrUtil.isNotBlank(processNodeRecordAssignUserParamDto.getApproveDesc())) { ProcessNodeRecordAssignUser processNodeRecordAssignUser = this.lambdaQuery() - .eq(ProcessNodeRecordAssignUser::getTaskId, processNodeRecordAssignUserParamDto.getTaskId()) - .orderByDesc(ProcessNodeRecordAssignUser::getId) - .last("limit 1") - .one(); + .eq(ProcessNodeRecordAssignUser::getTaskId, processNodeRecordAssignUserParamDto.getTaskId()) + .orderByDesc(ProcessNodeRecordAssignUser::getId).last("limit 1").one(); if (processNodeRecordAssignUser != null) { processNodeRecordAssignUser.setApproveDesc(processNodeRecordAssignUserParamDto.getApproveDesc()); processNodeRecordAssignUser.setTaskType(processNodeRecordAssignUserParamDto.getTaskType()); @@ -50,7 +48,7 @@ public class ProcessNodeRecordAssignUserServiceImpl } ProcessNodeRecordAssignUser processNodeRecordAssignUser = BeanUtil - .copyProperties(processNodeRecordAssignUserParamDto, ProcessNodeRecordAssignUser.class); + .copyProperties(processNodeRecordAssignUserParamDto, ProcessNodeRecordAssignUser.class); processNodeRecordAssignUser.setStartTime(LocalDateTime.now()); processNodeRecordAssignUser.setStatus(NodeStatusEnum.JXZ.getCode()); processNodeRecordAssignUser.setApproveDesc(""); @@ -68,14 +66,12 @@ public class ProcessNodeRecordAssignUserServiceImpl @Override public R completeTaskEvent(ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { ProcessNodeRecordAssignUser processNodeRecordAssignUser = this.lambdaQuery() - .eq(ProcessNodeRecordAssignUser::getTaskId, processNodeRecordAssignUserParamDto.getTaskId()) - .eq(ProcessNodeRecordAssignUser::getUserId, processNodeRecordAssignUserParamDto.getUserId()) - .eq(ProcessNodeRecordAssignUser::getProcessInstanceId, - processNodeRecordAssignUserParamDto.getProcessInstanceId()) - .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.JXZ.getCode()) - .orderByDesc(ProcessNodeRecordAssignUser::getId) - .last("limit 1") - .one(); + .eq(ProcessNodeRecordAssignUser::getTaskId, processNodeRecordAssignUserParamDto.getTaskId()) + .eq(ProcessNodeRecordAssignUser::getUserId, processNodeRecordAssignUserParamDto.getUserId()) + .eq(ProcessNodeRecordAssignUser::getProcessInstanceId, + processNodeRecordAssignUserParamDto.getProcessInstanceId()) + .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.JXZ.getCode()) + .orderByDesc(ProcessNodeRecordAssignUser::getId).last("limit 1").one(); processNodeRecordAssignUser.setStatus(NodeStatusEnum.YJS.getCode()); processNodeRecordAssignUser.setApproveDesc(processNodeRecordAssignUserParamDto.getApproveDesc()); processNodeRecordAssignUser.setEndTime(LocalDateTime.now()); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordServiceImpl.java index 827d47507..8036c959e 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessNodeRecordServiceImpl.java @@ -54,12 +54,11 @@ public class ProcessNodeRecordServiceImpl extends ServiceImpl impl Process oldProcess = this.getByFlowId(process.getFlowId()); this.hide(process.getFlowId()); // 修改所有的管理员 - this.lambdaUpdate() - .set(Process::getAdminId, nodeUser.getId()) - .eq(Process::getUniqueId, oldProcess.getUniqueId()) - .update(new Process()); + this.lambdaUpdate().set(Process::getAdminId, nodeUser.getId()) + .eq(Process::getUniqueId, oldProcess.getUniqueId()).update(new Process()); } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java index 8848c8c76..c447032dc 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java @@ -73,15 +73,13 @@ public class RemoteServiceImpl implements IRemoteService { ThreadUtil.execute(() -> { try { ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); int index = 10; while (index > 0 && processInstanceRecord == null) { TimeUnit.SECONDS.sleep(5); processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); index--; } @@ -130,11 +128,8 @@ public class RemoteServiceImpl implements IRemoteService { */ @Override public R> queryUserIdListByDepIdList(List depIdList) { - List list = userService.getUserIdListByDeptIdList(depIdList) - .getData() - .stream() - .map(SysUser::getUserId) - .collect(Collectors.toList()); + List list = userService.getUserIdListByDeptIdList(depIdList).getData().stream().map(SysUser::getUserId) + .collect(Collectors.toList()); return R.ok(list); } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/TaskServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/TaskServiceImpl.java index 3fec4ae1c..851e2f4a2 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/TaskServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/TaskServiceImpl.java @@ -61,12 +61,11 @@ public class TaskServiceImpl implements ITaskService { @Override public R queryTaskData() { R indexPageStatisticsR = flowEngineService - .querySimpleData(SecurityUtils.getUser().getId()); + .querySimpleData(SecurityUtils.getUser().getId()); // 获取抄送任务 - Long copyCount = processCopyService.lambdaQuery() - .eq(ProcessCopy::getUserId, SecurityUtils.getUser().getId()) - .count(); + Long copyCount = processCopyService.lambdaQuery().eq(ProcessCopy::getUserId, SecurityUtils.getUser().getId()) + .count(); indexPageStatisticsR.getData().setCopyNum(copyCount); return indexPageStatisticsR; } @@ -97,18 +96,17 @@ public class TaskServiceImpl implements ITaskService { Boolean currentTask = taskResultDto.getCurrentTask(); if (!currentTask) { ProcessNodeRecordAssignUser processNodeRecordAssignUser = processNodeRecordAssignUserService.lambdaQuery() - .eq(ProcessNodeRecordAssignUser::getTaskId, taskId) - .eq(ProcessNodeRecordAssignUser::getUserId, userId) - .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.YJS.getCode()) - .last("limit 1") - .orderByDesc(ProcessNodeRecordAssignUser::getEndTime) - .one(); + .eq(ProcessNodeRecordAssignUser::getTaskId, taskId) + .eq(ProcessNodeRecordAssignUser::getUserId, userId) + .eq(ProcessNodeRecordAssignUser::getStatus, NodeStatusEnum.YJS.getCode()).last("limit 1") + .orderByDesc(ProcessNodeRecordAssignUser::getEndTime).one(); if (processNodeRecordAssignUser != null) { String data = processNodeRecordAssignUser.getData(); if (StrUtil.isNotBlank(data)) { - Map collect = objectMapper.readValue(data, new TypeReference>() { - }); + Map collect = objectMapper.readValue(data, + new TypeReference>() { + }); paramMap.putAll(collect); } @@ -197,14 +195,12 @@ public class TaskServiceImpl implements ITaskService { } } - Dict set = Dict.create() - .set("processInstanceId", taskResultDto.getProcessInstanceId()) - .set("node", taskResultDto.getTaskNode()) - .set("process", oaForms.getProcess()) - .set("delegateAgain", taskResultDto.getDelegate()) - .set("delegationTask", StrUtil.equals(taskResultDto.getDelegationState(), "PENDING")) + Dict set = Dict.create().set("processInstanceId", taskResultDto.getProcessInstanceId()) + .set("node", taskResultDto.getTaskNode()).set("process", oaForms.getProcess()) + .set("delegateAgain", taskResultDto.getDelegate()) + .set("delegationTask", StrUtil.equals(taskResultDto.getDelegationState(), "PENDING")) - .set("formItems", formItemVOList); + .set("formItems", formItemVOList); return R.ok(set); } @@ -321,8 +317,7 @@ public class TaskServiceImpl implements ITaskService { private List getAllStopProcessInstanceIdList(String processInstanceId) { List list = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getParentProcessInstanceId, processInstanceId) - .list(); + .eq(ProcessInstanceRecord::getParentProcessInstanceId, processInstanceId).list(); List collect = list.stream().map(w -> w.getProcessInstanceId()).collect(Collectors.toList()); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/DataUtil.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/DataUtil.java index 57d3adaed..9edb25751 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/DataUtil.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/DataUtil.java @@ -40,9 +40,8 @@ public class DataUtil { List list = new ArrayList<>(); list.add(allDeptList.stream().filter(w -> w.getDeptId() == deptId).findFirst().get()); - List collect = allDeptList.stream() - .filter(w -> w.getParentId() == deptId) - .collect(Collectors.toList()); + List collect = allDeptList.stream().filter(w -> w.getParentId() == deptId) + .collect(Collectors.toList()); if (CollUtil.isEmpty(collect)) { return list; } @@ -64,9 +63,8 @@ public class DataUtil { List list = new ArrayList<>(); list.add(allMenuList.stream().filter(w -> w.getMenuId() == menuId).findFirst().get()); - List collect = allMenuList.stream() - .filter(w -> w.getParentId() == menuId) - .collect(Collectors.toList()); + List collect = allMenuList.stream().filter(w -> w.getParentId() == menuId) + .collect(Collectors.toList()); if (CollUtil.isEmpty(collect)) { return list; } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/NodeFormatUtil.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/NodeFormatUtil.java index 3de5ac969..73a45df49 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/NodeFormatUtil.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/utils/NodeFormatUtil.java @@ -88,15 +88,13 @@ public class NodeFormatUtil { // 用户列表 if (StrUtil.isNotBlank(processInstanceId)) { IProcessNodeRecordAssignUserService processNodeRecordAssignUserService = SpringUtil - .getBean(IProcessNodeRecordAssignUserService.class); + .getBean(IProcessNodeRecordAssignUserService.class); List processNodeRecordAssignUserList = processNodeRecordAssignUserService - .lambdaQuery() - .eq(ProcessNodeRecordAssignUser::getNodeId, node.getId()) - .eq(ProcessNodeRecordAssignUser::getProcessInstanceId, processInstanceId) - .orderByAsc(ProcessNodeRecordAssignUser::getCreateTime) - .list(); + .lambdaQuery().eq(ProcessNodeRecordAssignUser::getNodeId, node.getId()) + .eq(ProcessNodeRecordAssignUser::getProcessInstanceId, processInstanceId) + .orderByAsc(ProcessNodeRecordAssignUser::getCreateTime).list(); Map> map = processNodeRecordAssignUserList.stream() - .collect(Collectors.groupingBy(ProcessNodeRecordAssignUser::getTaskId)); + .collect(Collectors.groupingBy(ProcessNodeRecordAssignUser::getTaskId)); for (Map.Entry> entry : map.entrySet()) { List value = entry.getValue(); @@ -125,7 +123,8 @@ public class NodeFormatUtil { new TypeReference>() { }); - List collect = nodeUserDtos.stream().map(w -> Long.valueOf(w.getId())).collect(Collectors.toList()); + List collect = nodeUserDtos.stream().map(w -> Long.valueOf(w.getId())) + .collect(Collectors.toList()); for (Long aLong : collect) { UserVo userVo = buildUser(aLong); userVoList.addAll(CollUtil.newArrayList(userVo)); @@ -151,9 +150,11 @@ public class NodeFormatUtil { ObjectMapper objectMapper = SpringUtil.getBean(ObjectMapper.class); String jsonString = objectMapper.writeValueAsString(o); if (StrUtil.isNotBlank(jsonString)) { - List nodeUserDtoList = objectMapper.readValue(jsonString, new TypeReference>() { - }); - List userIdList = nodeUserDtoList.stream().map(NodeUser::getId).collect(Collectors.toList()); + List nodeUserDtoList = objectMapper.readValue(jsonString, + new TypeReference>() { + }); + List userIdList = nodeUserDtoList.stream().map(NodeUser::getId) + .collect(Collectors.toList()); for (Long aLong : userIdList) { userVoList.addAll(CollUtil.newArrayList(buildUser(aLong))); } @@ -176,10 +177,9 @@ public class NodeFormatUtil { else { IProcessInstanceRecordService processInstanceRecordService = SpringUtil - .getBean(IProcessInstanceRecordService.class); + .getBean(IProcessInstanceRecordService.class); ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); UserVo userVo = buildRootUser(processInstanceId); userVo.setShowTime(processInstanceRecord.getCreateTime()); @@ -237,10 +237,9 @@ public class NodeFormatUtil { private static UserVo buildRootUser(String processInstanceId) { IProcessInstanceRecordService processInstanceRecordService = SpringUtil - .getBean(IProcessInstanceRecordService.class); + .getBean(IProcessInstanceRecordService.class); ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery() - .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId) - .one(); + .eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId).one(); Long userId = processInstanceRecord.getUserId(); UserVo userVo = buildUser(userId); return userVo; @@ -265,14 +264,12 @@ public class NodeFormatUtil { List userVoList = new ArrayList<>(); // 用户id List userIdList = nodeUserList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) - .map(w -> Convert.toLong(w.getId())) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey())) + .map(w -> Convert.toLong(w.getId())).collect(Collectors.toList()); // 部门id List deptIdList = nodeUserList.stream() - .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) - .map(w -> Convert.toLong(w.getId())) - .collect(Collectors.toList()); + .filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey())) + .map(w -> Convert.toLong(w.getId())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(deptIdList)) { diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/SpringDocConfiguration.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/SpringDocConfiguration.java index d757dca43..fcf591b15 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/SpringDocConfiguration.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/SpringDocConfiguration.java @@ -60,17 +60,14 @@ class SwaggerDocRegister extends Subscriber { */ @Override public void onEvent(InstancesChangeEvent event) { - Set swaggerUrlSet = discoveryClient.getServices() - .stream() + Set swaggerUrlSet = discoveryClient.getServices().stream() .flatMap(serviceId -> discoveryClient.getInstances(serviceId).stream()) - .filter(instance -> StringUtils.isNotBlank(instance.getMetadata().get("spring-doc"))) - .map(instance -> { + .filter(instance -> StringUtils.isNotBlank(instance.getMetadata().get("spring-doc"))).map(instance -> { AbstractSwaggerUiConfigProperties.SwaggerUrl swaggerUrl = new AbstractSwaggerUiConfigProperties.SwaggerUrl(); swaggerUrl.setName(instance.getServiceId()); swaggerUrl.setUrl(String.format("/%s/v3/api-docs", instance.getMetadata().get("spring-doc"))); return swaggerUrl; - }) - .collect(Collectors.toSet()); + }).collect(Collectors.toSet()); swaggerUiConfigProperties.setUrls(swaggerUrlSet); } diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java index 9068e2b57..395e041f5 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java @@ -3,7 +3,6 @@ package com.pig4cloud.pigx.admin.api.feign; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; import com.pig4cloud.pigx.common.core.util.R; -import com.pig4cloud.pigx.common.core.util.RetOps; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysAuditLogController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysAuditLogController.java index 2ca3b8f5c..3edad511c 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysAuditLogController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysAuditLogController.java @@ -111,7 +111,7 @@ public class SysAuditLogController { @PreAuthorize("@pms.hasPermission('sys_audit_export')") public List export(SysAuditLog sysAuditLog, Long[] ids) { return sysAuditLogService - .list(Wrappers.lambdaQuery(sysAuditLog).in(ArrayUtil.isNotEmpty(ids), SysAuditLog::getId, ids)); + .list(Wrappers.lambdaQuery(sysAuditLog).in(ArrayUtil.isNotEmpty(ids), SysAuditLog::getId, ids)); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysDeptController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysDeptController.java index 0bc7273d9..f70619e6d 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysDeptController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysDeptController.java @@ -28,13 +28,13 @@ import com.pig4cloud.pigx.common.excel.annotation.ResponseExcel; import com.pig4cloud.pigx.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.validation.Valid; import lombok.AllArgsConstructor; import org.springframework.http.HttpHeaders; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.time.LocalDateTime; import java.util.List; diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java index c732bed90..dfb678526 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java @@ -32,7 +32,6 @@ import com.pig4cloud.pigx.common.security.annotation.Inner; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import lombok.SneakyThrows; import org.springdoc.api.annotations.ParameterObject; @@ -42,6 +41,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -69,9 +69,9 @@ public class SysFileController { @GetMapping("/page") public R getSysFilePage(@ParameterObject Page page, @ParameterObject SysFile sysFile) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() - .eq(StrUtil.isNotBlank(sysFile.getType()), SysFile::getType, sysFile.getType()) - .eq(Objects.nonNull(sysFile.getGroupId()), SysFile::getGroupId, sysFile.getGroupId()) - .like(StrUtil.isNotBlank(sysFile.getOriginal()), SysFile::getOriginal, sysFile.getOriginal()); + .eq(StrUtil.isNotBlank(sysFile.getType()), SysFile::getType, sysFile.getType()) + .eq(Objects.nonNull(sysFile.getGroupId()), SysFile::getGroupId, sysFile.getGroupId()) + .like(StrUtil.isNotBlank(sysFile.getOriginal()), SysFile::getOriginal, sysFile.getOriginal()); return R.ok(sysFileService.page(page, wrapper)); } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysI18nController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysI18nController.java index 05628701a..3afafd557 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysI18nController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysI18nController.java @@ -142,7 +142,7 @@ public class SysI18nController { @PreAuthorize("@pms.hasPermission('sys_i18n_export')") public List export(SysI18nEntity sysI18n, Long[] ids) { return sysI18nService - .list(Wrappers.lambdaQuery(sysI18n).in(ArrayUtil.isNotEmpty(ids), SysI18nEntity::getId, ids)); + .list(Wrappers.lambdaQuery(sysI18n).in(ArrayUtil.isNotEmpty(ids), SysI18nEntity::getId, ids)); } /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPostController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPostController.java index 8ae39d225..debc4b6ea 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPostController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPostController.java @@ -75,7 +75,7 @@ public class SysPostController { @PreAuthorize("@pms.hasPermission('sys_post_view')") public R getSysPostPage(@ParameterObject Page page, @ParameterObject SysPost sysPost) { return R.ok(sysPostService.page(page, Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(sysPost.getPostName()), SysPost::getPostName, sysPost.getPostName()))); + .like(StrUtil.isNotBlank(sysPost.getPostName()), SysPost::getPostName, sysPost.getPostName()))); } /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPublicParamController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPublicParamController.java index 8ba56ffa9..31a177b17 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPublicParamController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysPublicParamController.java @@ -88,12 +88,12 @@ public class SysPublicParamController { @GetMapping("/page") public R getSysPublicParamPage(@ParameterObject Page page, @ParameterObject SysPublicParam sysPublicParam) { LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate() - .like(StrUtil.isNotBlank(sysPublicParam.getPublicName()), SysPublicParam::getPublicName, - sysPublicParam.getPublicName()) - .like(StrUtil.isNotBlank(sysPublicParam.getPublicKey()), SysPublicParam::getPublicKey, - sysPublicParam.getPublicKey()) - .eq(StrUtil.isNotBlank(sysPublicParam.getSystemFlag()), SysPublicParam::getSystemFlag, - sysPublicParam.getSystemFlag()); + .like(StrUtil.isNotBlank(sysPublicParam.getPublicName()), SysPublicParam::getPublicName, + sysPublicParam.getPublicName()) + .like(StrUtil.isNotBlank(sysPublicParam.getPublicKey()), SysPublicParam::getPublicKey, + sysPublicParam.getPublicKey()) + .eq(StrUtil.isNotBlank(sysPublicParam.getSystemFlag()), SysPublicParam::getSystemFlag, + sysPublicParam.getSystemFlag()); return R.ok(sysPublicParamService.page(page, wrapper)); } @@ -162,7 +162,7 @@ public class SysPublicParamController { @PreAuthorize("@pms.hasPermission('sys_syspublicparam_edit')") public List export(SysPublicParam param, Long[] ids) { return sysPublicParamService - .list(Wrappers.lambdaQuery(param).in(ArrayUtil.isNotEmpty(ids), SysPublicParam::getPublicId, ids)); + .list(Wrappers.lambdaQuery(param).in(ArrayUtil.isNotEmpty(ids), SysPublicParam::getPublicId, ids)); } /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysRoleController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysRoleController.java index d00f6395c..069328f84 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysRoleController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysRoleController.java @@ -34,7 +34,6 @@ import com.pig4cloud.pigx.common.excel.annotation.ResponseExcel; import com.pig4cloud.pigx.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.validation.Valid; import lombok.AllArgsConstructor; import org.springdoc.api.annotations.ParameterObject; import org.springframework.cache.annotation.CacheEvict; @@ -43,6 +42,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; /** @@ -135,7 +135,7 @@ public class SysRoleController { @GetMapping("/page") public R getRolePage(Page page, SysRole role) { return R.ok(sysRoleService.page(page, Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(role.getRoleName()), SysRole::getRoleName, role.getRoleName()))); + .like(StrUtil.isNotBlank(role.getRoleName()), SysRole::getRoleName, role.getRoleName()))); } /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java index d9de754bc..94a28d115 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysSocialDetailsController.java @@ -29,7 +29,6 @@ import com.pig4cloud.pigx.common.log.annotation.SysLog; import com.pig4cloud.pigx.common.security.annotation.Inner; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.validation.Valid; import lombok.AllArgsConstructor; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; @@ -37,6 +36,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; /** @@ -73,7 +73,7 @@ public class SysSocialDetailsController { @GetMapping("/{type}") public R getByType(@PathVariable("type") String type) { return R.ok(sysSocialDetailsService - .list(Wrappers.lambdaQuery().eq(SysSocialDetails::getType, type))); + .list(Wrappers.lambdaQuery().eq(SysSocialDetails::getType, type))); } @GetMapping("/getById/{id}") @@ -145,8 +145,8 @@ public class SysSocialDetailsController { */ @GetMapping("/export") public List export(SysSocialDetails sysSocialDetails, Long[] ids) { - return sysSocialDetailsService - .list(Wrappers.lambdaQuery(sysSocialDetails).in(ArrayUtil.isNotEmpty(ids), SysSocialDetails::getId, ids)); + return sysSocialDetailsService.list( + Wrappers.lambdaQuery(sysSocialDetails).in(ArrayUtil.isNotEmpty(ids), SysSocialDetails::getId, ids)); } } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java index e03c1a393..71daa3498 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysTenantController.java @@ -73,7 +73,7 @@ public class SysTenantController { @GetMapping("/page") public R getSysTenantPage(@ParameterObject Page page, @ParameterObject SysTenant sysTenant) { return R.ok(sysTenantService.page(page, Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(sysTenant.getName()), SysTenant::getName, sysTenant.getName()))); + .like(StrUtil.isNotBlank(sysTenant.getName()), SysTenant::getName, sysTenant.getName()))); } /** @@ -143,11 +143,9 @@ public class SysTenantController { @Inner(value = false) @GetMapping("/list") public R list() { - List tenants = sysTenantService.getNormalTenant() - .stream() - .filter(tenant -> tenant.getStartTime().isBefore(LocalDateTime.now())) - .filter(tenant -> tenant.getEndTime().isAfter(LocalDateTime.now())) - .collect(Collectors.toList()); + List tenants = sysTenantService.getNormalTenant().stream() + .filter(tenant -> tenant.getStartTime().isBefore(LocalDateTime.now())) + .filter(tenant -> tenant.getEndTime().isAfter(LocalDateTime.now())).collect(Collectors.toList()); return R.ok(tenants); } @@ -160,7 +158,7 @@ public class SysTenantController { @PreAuthorize("@pms.hasPermission('sys_systenant_export')") public List export(SysTenant sysTenant, Long[] ids) { return sysTenantService - .list(Wrappers.lambdaQuery(sysTenant).in(ArrayUtil.isNotEmpty(ids), SysTenant::getId, ids)); + .list(Wrappers.lambdaQuery(sysTenant).in(ArrayUtil.isNotEmpty(ids), SysTenant::getId, ids)); } @GetMapping(value = "/tree/menu") diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java index d4157bf07..b94e331af 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java @@ -38,7 +38,6 @@ import com.pig4cloud.pigx.common.security.util.SecurityUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; -import javax.validation.Valid; import lombok.AllArgsConstructor; import org.springdoc.api.annotations.ParameterObject; import org.springframework.http.HttpHeaders; @@ -46,6 +45,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysDeptMapper.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysDeptMapper.java index f83a6248c..e50fb1848 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysDeptMapper.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysDeptMapper.java @@ -23,8 +23,6 @@ import com.pig4cloud.pigx.admin.api.entity.SysDept; import com.pig4cloud.pigx.common.data.datascope.PigxBaseMapper; import org.apache.ibatis.annotations.Mapper; -import java.util.List; - /** *

* 部门管理 Mapper 接口 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java index cb1368bcb..f91edb4aa 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysFileService.java @@ -26,7 +26,6 @@ import com.pig4cloud.pigx.common.core.util.R; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; - import java.util.List; /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java index f0d11f823..07375e653 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysDeptServiceImpl.java @@ -93,35 +93,29 @@ public class SysDeptServiceImpl extends ServiceImpl impl @Override public List> selectTree(String deptName, Long parentId) { // 查询全部部门 - List deptAllList = deptMapper - .selectList(Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName)); + List deptAllList = deptMapper.selectList( + Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName)); // 查询数据权限内部门 - List deptOwnIdList = deptMapper - .selectListByScope( - Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName), - DataScope.of()) - .stream() - .map(SysDept::getDeptId) - .collect(Collectors.toList()); + List deptOwnIdList = deptMapper.selectListByScope( + Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName), + DataScope.of()).stream().map(SysDept::getDeptId).collect(Collectors.toList()); // 权限内部门 List> collect = deptAllList.stream() - .filter(dept -> dept.getDeptId().intValue() != dept.getParentId()) - .sorted(Comparator.comparingInt(SysDept::getSortOrder)) - .map(dept -> { - TreeNode treeNode = new TreeNode<>(); - treeNode.setId(dept.getDeptId()); - treeNode.setParentId(dept.getParentId()); - treeNode.setName(dept.getName()); - treeNode.setWeight(dept.getSortOrder()); - // 有权限不返回标识 - Map extra = new HashMap<>(8); - extra.put("isLock", !deptOwnIdList.contains(dept.getDeptId())); - extra.put("createTime", dept.getCreateTime()); - treeNode.setExtra(extra); - return treeNode; - }) - .collect(Collectors.toList()); + .filter(dept -> dept.getDeptId().intValue() != dept.getParentId()) + .sorted(Comparator.comparingInt(SysDept::getSortOrder)).map(dept -> { + TreeNode treeNode = new TreeNode<>(); + treeNode.setId(dept.getDeptId()); + treeNode.setParentId(dept.getParentId()); + treeNode.setName(dept.getName()); + treeNode.setWeight(dept.getSortOrder()); + // 有权限不返回标识 + Map extra = new HashMap<>(8); + extra.put("isLock", !deptOwnIdList.contains(dept.getDeptId())); + extra.put("createTime", dept.getCreateTime()); + treeNode.setExtra(extra); + return treeNode; + }).collect(Collectors.toList()); // 模糊查询 不组装树结构 直接返回 表格方便编辑 if (StrUtil.isNotBlank(deptName)) { @@ -146,11 +140,8 @@ public class SysDeptServiceImpl extends ServiceImpl impl List deptExcelVos = list.stream().map(item -> { DeptExcelVo deptExcelVo = new DeptExcelVo(); deptExcelVo.setName(item.getName()); - Optional first = this.list() - .stream() - .filter(it -> item.getParentId().equals(it.getDeptId())) - .map(SysDept::getName) - .findFirst(); + Optional first = this.list().stream().filter(it -> item.getParentId().equals(it.getDeptId())) + .map(SysDept::getName).findFirst(); deptExcelVo.setParentName(first.orElse("根部门")); deptExcelVo.setSortOrder(item.getSortOrder()); return deptExcelVo; @@ -210,7 +201,8 @@ public class SysDeptServiceImpl extends ServiceImpl impl recursiveDept(allDeptList, deptId, resDeptList); // 添加当前节点 - resDeptList.addAll(allDeptList.stream().filter(sysDept -> deptId.equals(sysDept.getDeptId())).collect(Collectors.toList())); + resDeptList.addAll(allDeptList.stream().filter(sysDept -> deptId.equals(sysDept.getDeptId())) + .collect(Collectors.toList())); return resDeptList; } @@ -224,23 +216,21 @@ public class SysDeptServiceImpl extends ServiceImpl impl @Override public List listDeptLeader(Long deptId) { List sysUserList = userMapper - .selectList(Wrappers.lambdaQuery().eq(SysUser::getDeptId, deptId)); + .selectList(Wrappers.lambdaQuery().eq(SysUser::getDeptId, deptId)); if (CollUtil.isEmpty(sysUserList)) { return null; } SysPost deptLeader = postMapper - .selectOne(Wrappers.lambdaQuery().eq(SysPost::getPostCode, "DEPT_LEADER")); + .selectOne(Wrappers.lambdaQuery().eq(SysPost::getPostCode, "DEPT_LEADER")); if (deptLeader == null) { return null; } List userIdList = sysUserList.stream().map(SysUser::getUserId).collect(Collectors.toList()); return userPostMapper.selectList(Wrappers.lambdaQuery().in(SysUserPost::getUserId, userIdList)) - .stream() - .filter(post -> Objects.equals(post.getPostId(), deptLeader.getPostId())) - .map(SysUserPost::getUserId) - .collect(Collectors.toList()); + .stream().filter(post -> Objects.equals(post.getPostId(), deptLeader.getPostId())) + .map(SysUserPost::getUserId).collect(Collectors.toList()); } /** diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java index 6b7892a72..8718fc1c3 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysFileServiceImpl.java @@ -37,7 +37,6 @@ import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.util.R; import com.pig4cloud.pigx.common.file.core.FileProperties; import com.pig4cloud.pigx.common.file.core.FileTemplate; -import javax.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -45,6 +44,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.*; @@ -136,16 +136,14 @@ public class SysFileServiceImpl extends ServiceImpl impl @Override public List> listFileGroup(SysFileGroup fileGroup) { // 从数据库查询文件组列表 - List> treeNodeList = fileGroupMapper.selectList(Wrappers.query(fileGroup)) - .stream() - .map(group -> { - TreeNode treeNode = new TreeNode<>(); - treeNode.setName(group.getName()); - treeNode.setId(group.getId()); - treeNode.setParentId(group.getPid()); - return treeNode; - }) - .collect(Collectors.toList()); + List> treeNodeList = fileGroupMapper.selectList(Wrappers.query(fileGroup)).stream() + .map(group -> { + TreeNode treeNode = new TreeNode<>(); + treeNode.setName(group.getName()); + treeNode.setId(group.getId()); + treeNode.setParentId(group.getPid()); + return treeNode; + }).collect(Collectors.toList()); // 构建树形结构 List> treeList = TreeUtil.build(treeNodeList, CommonConstants.MENU_TREE_ROOT_ID); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysMenuServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysMenuServiceImpl.java index 8bc9153e2..86ba3c21d 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysMenuServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysMenuServiceImpl.java @@ -40,7 +40,6 @@ import com.pig4cloud.pigx.common.core.constant.enums.MenuTypeEnum; import com.pig4cloud.pigx.common.core.exception.ErrorCodes; import com.pig4cloud.pigx.common.core.util.MsgUtils; import com.pig4cloud.pigx.common.core.util.R; -import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -49,6 +48,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.validation.constraints.NotNull; import java.util.*; import java.util.function.Function; import java.util.function.Predicate; @@ -109,13 +109,10 @@ public class SysMenuServiceImpl extends ServiceImpl impl Long parent = parentId == null ? CommonConstants.MENU_TREE_ROOT_ID : parentId; List> collect = baseMapper - .selectList(Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(menuName), SysMenu::getName, menuName) - .eq(StrUtil.isNotBlank(type), SysMenu::getMenuType, type) - .orderByAsc(SysMenu::getSortOrder)) - .stream() - .map(getNodeFunction()) - .collect(Collectors.toList()); + .selectList(Wrappers.lambdaQuery() + .like(StrUtil.isNotBlank(menuName), SysMenu::getName, menuName) + .eq(StrUtil.isNotBlank(type), SysMenu::getMenuType, type).orderByAsc(SysMenu::getSortOrder)) + .stream().map(getNodeFunction()).collect(Collectors.toList()); // 模糊查询 不组装树结构 直接返回 表格方便编辑 if (StrUtil.isNotBlank(menuName)) { diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPostServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPostServiceImpl.java index 6f9626d9f..0986b0a2b 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPostServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPostServiceImpl.java @@ -64,9 +64,8 @@ public class SysPostServiceImpl extends ServiceImpl impl for (PostExcelVO excel : excelVOList) { Set errorMsg = new HashSet<>(); // 检验岗位名称或者岗位编码是否存在 - boolean existPost = postList.stream() - .anyMatch(post -> excel.getPostName().equals(post.getPostName()) - || excel.getPostCode().equals(post.getPostCode())); + boolean existPost = postList.stream().anyMatch(post -> excel.getPostName().equals(post.getPostName()) + || excel.getPostCode().equals(post.getPostCode())); if (existPost) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_POST_NAMEORCODE_EXISTING, excel.getPostName(), @@ -95,7 +94,7 @@ public class SysPostServiceImpl extends ServiceImpl impl @Override public List listPost(SysPost query, Long[] ids) { List postList = this - .list(Wrappers.lambdaQuery(query).in(ArrayUtil.isNotEmpty(ids), SysPost::getPostId, ids)); + .list(Wrappers.lambdaQuery(query).in(ArrayUtil.isNotEmpty(ids), SysPost::getPostId, ids)); // 转换成execl 对象输出 return postList.stream().map(post -> { PostExcelVO postExcelVO = new PostExcelVO(); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPublicParamServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPublicParamServiceImpl.java index 9a6cfee95..a9149e103 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPublicParamServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysPublicParamServiceImpl.java @@ -53,7 +53,7 @@ public class SysPublicParamServiceImpl extends ServiceImpllambdaQuery().eq(SysPublicParam::getPublicKey, publicKey)); + .selectOne(Wrappers.lambdaQuery().eq(SysPublicParam::getPublicKey, publicKey)); if (sysPublicParam != null) { return sysPublicParam.getPublicValue(); @@ -69,7 +69,7 @@ public class SysPublicParamServiceImpl extends ServiceImpl getSysPublicParamsKeyToValue(String[] keys) { List paramList = this.baseMapper - .selectList(Wrappers.lambdaQuery().in(SysPublicParam::getPublicKey, keys)); + .selectList(Wrappers.lambdaQuery().in(SysPublicParam::getPublicKey, keys)); Map result = new HashMap<>(8); paramList.forEach(param -> result.put(param.getPublicKey(), param.getPublicValue())); return result; @@ -99,11 +99,9 @@ public class SysPublicParamServiceImpl extends ServiceImpl idList = this.baseMapper.selectBatchIds(CollUtil.toList(publicIds)) - .stream() - .filter(p -> !p.getSystemFlag().equals(DictTypeEnum.SYSTEM.getType()))// 系统内置的跳过不能删除 - .map(SysPublicParam::getPublicId) - .collect(Collectors.toList()); + List idList = this.baseMapper.selectBatchIds(CollUtil.toList(publicIds)).stream() + .filter(p -> !p.getSystemFlag().equals(DictTypeEnum.SYSTEM.getType()))// 系统内置的跳过不能删除 + .map(SysPublicParam::getPublicId).collect(Collectors.toList()); return R.ok(this.removeBatchByIds(idList)); } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleServiceImpl.java index 28569db15..175b0eb76 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleServiceImpl.java @@ -92,7 +92,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class) public Boolean removeRoleByIds(Long[] ids) { roleMenuService - .remove(Wrappers.update().lambda().in(SysRoleMenu::getRoleId, CollUtil.toList(ids))); + .remove(Wrappers.update().lambda().in(SysRoleMenu::getRoleId, CollUtil.toList(ids))); return this.removeBatchByIds(CollUtil.toList(ids)); } @@ -124,9 +124,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl for (RoleExcelVO excel : excelVOList) { Set errorMsg = new HashSet<>(); // 检验角色名称或者角色编码是否存在 - boolean existRole = roleList.stream() - .anyMatch(sysRole -> excel.getRoleName().equals(sysRole.getRoleName()) - || excel.getRoleCode().equals(sysRole.getRoleCode())); + boolean existRole = roleList.stream().anyMatch(sysRole -> excel.getRoleName().equals(sysRole.getRoleName()) + || excel.getRoleCode().equals(sysRole.getRoleCode())); if (existRole) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_ROLE_NAMEORCODE_EXISTING, excel.getRoleName(), @@ -155,7 +154,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Override public List listRole(SysRole sysRole, Long[] ids) { List roleList = this - .list(Wrappers.lambdaQuery(sysRole).in(ArrayUtil.isNotEmpty(ids), SysRole::getRoleId, ids)); + .list(Wrappers.lambdaQuery(sysRole).in(ArrayUtil.isNotEmpty(ids), SysRole::getRoleId, ids)); // 转换成execl 对象输出 return roleList.stream().map(role -> { RoleExcelVO roleExcelVO = new RoleExcelVO(); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java index 60963c4f3..7248e5d88 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java @@ -90,7 +90,7 @@ public class SysTenantServiceImpl extends ServiceImpl getNormalTenant() { return baseMapper - .selectList(Wrappers.lambdaQuery().eq(SysTenant::getStatus, CommonConstants.STATUS_NORMAL)); + .selectList(Wrappers.lambdaQuery().eq(SysTenant::getStatus, CommonConstants.STATUS_NORMAL)); } /** @@ -130,8 +130,8 @@ public class SysTenantServiceImpl extends ServiceImpllambdaQuery().in(SysDictItem::getDictId, dictIdList))); - List newMenuList = menuService.list(Wrappers.lambdaQuery() - .in(SysMenu::getMenuId, StrUtil.split(sysTenant.getMenuId(), CharUtil.COMMA))); + List newMenuList = menuService.list(Wrappers.lambdaQuery().in(SysMenu::getMenuId, + StrUtil.split(sysTenant.getMenuId(), CharUtil.COMMA))); // 查询当前租户菜单 menuList.addAll(newMenuList); // 查询客户端配置 @@ -189,20 +189,17 @@ public class SysTenantServiceImpl extends ServiceImpl d.setId(null)).collect(Collectors.toList())); // 处理字典项最新关联的字典ID - List itemList = dictList.stream() - .flatMap(dict -> dictItemList.stream() - .filter(item -> item.getDictType().equals(dict.getDictType())) - .peek(item -> { + List itemList = dictList.stream().flatMap(dict -> dictItemList.stream() + .filter(item -> item.getDictType().equals(dict.getDictType())).peek(item -> { item.setDictId(dict.getId()); item.setId(null); - })) - .collect(Collectors.toList()); + })).collect(Collectors.toList()); // 插入客户端 clientServices.saveBatch(clientDetailsList.stream().peek(d -> d.setId(null)).collect(Collectors.toList())); // 插入系统配置 paramService - .saveBatch(publicParamList.stream().peek(d -> d.setPublicId(null)).collect(Collectors.toList())); + .saveBatch(publicParamList.stream().peek(d -> d.setPublicId(null)).collect(Collectors.toList())); return dictItemService.saveBatch(itemList); })); @@ -232,9 +229,8 @@ public class SysTenantServiceImpl extends ServiceImpl sysMenuList = TenantBroker.applyAs(defaultId, - id -> menuService.list(Wrappers.lambdaQuery() - .in(SysMenu::getMenuId, StrUtil.split(tenantDTO.getMenuId(), CharUtil.COMMA)))); + List sysMenuList = TenantBroker.applyAs(defaultId, id -> menuService.list(Wrappers + .lambdaQuery().in(SysMenu::getMenuId, StrUtil.split(tenantDTO.getMenuId(), CharUtil.COMMA)))); TenantBroker.runAs(tenantDTO.getId(), (tenantId -> { // 查询当前租户的所有菜单 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java index 5ddaad281..7e099fb4c 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java @@ -120,7 +120,7 @@ public class SysUserServiceImpl extends ServiceImpl impl String defaultRole = ParamResolver.getStr("USER_DEFAULT_ROLE"); // 默认角色 SysRole sysRole = sysRoleService - .getOne(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, defaultRole)); + .getOne(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, defaultRole)); userDto.setRole(Collections.singletonList(sysRole.getRoleId())); } @@ -144,20 +144,16 @@ public class SysUserServiceImpl extends ServiceImpl impl UserInfo userInfo = new UserInfo(); userInfo.setSysUser(sysUser); // 设置角色列表 (ID) - List roleIds = sysRoleService.findRolesByUserId(sysUser.getUserId()) - .stream() - .map(SysRole::getRoleId) - .collect(Collectors.toList()); + List roleIds = sysRoleService.findRolesByUserId(sysUser.getUserId()).stream().map(SysRole::getRoleId) + .collect(Collectors.toList()); userInfo.setRoles(ArrayUtil.toArray(roleIds, Long.class)); // 设置权限列表(menu.permission) Set permissions = new HashSet<>(); roleIds.forEach(roleId -> { - List permissionList = sysMenuService.findMenuByRoleId(roleId) - .stream() - .filter(menu -> StrUtil.isNotEmpty(menu.getPermission())) - .map(SysMenu::getPermission) - .collect(Collectors.toList()); + List permissionList = sysMenuService.findMenuByRoleId(roleId).stream() + .filter(menu -> StrUtil.isNotEmpty(menu.getPermission())).map(SysMenu::getPermission) + .collect(Collectors.toList()); permissions.addAll(permissionList); }); userInfo.setPermissions(ArrayUtil.toArray(permissions, String.class)); @@ -239,7 +235,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 更新用户角色表 if (userDto.getRole() != null) { sysUserRoleMapper - .delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); + .delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); userDto.getRole().stream().map(roleId -> { SysUserRole userRole = new SysUserRole(); userRole.setUserId(sysUser.getUserId()); @@ -251,7 +247,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 更新用户岗位表 if (userDto.getPost() != null) { sysUserPostMapper - .delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); + .delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); userDto.getPost().stream().map(postId -> { SysUserPost userPost = new SysUserPost(); userPost.setUserId(sysUser.getUserId()); @@ -295,15 +291,11 @@ public class SysUserServiceImpl extends ServiceImpl impl List userExcelVOList = voList.stream().map(userVO -> { UserExcelVO excelVO = new UserExcelVO(); BeanUtils.copyProperties(userVO, excelVO); - String roleNameList = userVO.getRoleList() - .stream() - .map(SysRole::getRoleName) - .collect(Collectors.joining(StrUtil.COMMA)); + String roleNameList = userVO.getRoleList().stream().map(SysRole::getRoleName) + .collect(Collectors.joining(StrUtil.COMMA)); excelVO.setRoleNameList(roleNameList); - String postNameList = userVO.getPostList() - .stream() - .map(SysPost::getPostName) - .collect(Collectors.joining(StrUtil.COMMA)); + String postNameList = userVO.getPostList().stream().map(SysPost::getPostName) + .collect(Collectors.joining(StrUtil.COMMA)); excelVO.setPostNameList(postNameList); return excelVO; }).collect(Collectors.toList()); @@ -332,7 +324,7 @@ public class SysUserServiceImpl extends ServiceImpl impl Set errorMsg = new HashSet<>(); // 校验用户名是否存在 boolean exsitUserName = userList.stream() - .anyMatch(sysUser -> excel.getUsername().equals(sysUser.getUsername())); + .anyMatch(sysUser -> excel.getUsername().equals(sysUser.getUsername())); if (exsitUserName) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, excel.getUsername())); @@ -340,8 +332,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 判断输入的部门名称列表是否合法 Optional deptOptional = deptList.stream() - .filter(dept -> excel.getDeptName().equals(dept.getName())) - .findFirst(); + .filter(dept -> excel.getDeptName().equals(dept.getName())).findFirst(); if (!deptOptional.isPresent()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_DEPT_DEPTNAME_INEXISTENCE, excel.getDeptName())); } @@ -349,8 +340,8 @@ public class SysUserServiceImpl extends ServiceImpl impl // 判断输入的角色名称列表是否合法 List roleNameList = StrUtil.split(excel.getRoleNameList(), StrUtil.COMMA); List roleCollList = roleList.stream() - .filter(role -> roleNameList.stream().anyMatch(name -> role.getRoleName().equals(name))) - .collect(Collectors.toList()); + .filter(role -> roleNameList.stream().anyMatch(name -> role.getRoleName().equals(name))) + .collect(Collectors.toList()); if (roleCollList.size() != roleNameList.size()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_ROLE_ROLENAME_INEXISTENCE, excel.getRoleNameList())); @@ -359,8 +350,8 @@ public class SysUserServiceImpl extends ServiceImpl impl // 判断输入的部门名称列表是否合法 List postNameList = StrUtil.split(excel.getPostNameList(), StrUtil.COMMA); List postCollList = postList.stream() - .filter(post -> postNameList.stream().anyMatch(name -> post.getPostName().equals(name))) - .collect(Collectors.toList()); + .filter(post -> postNameList.stream().anyMatch(name -> post.getPostName().equals(name))) + .collect(Collectors.toList()); if (postCollList.size() != postNameList.size()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_POST_POSTNAME_INEXISTENCE, excel.getPostNameList())); @@ -464,9 +455,8 @@ public class SysUserServiceImpl extends ServiceImpl impl } String password = ENCODER.encode(userDto.getNewpassword1()); - this.update(Wrappers.lambdaUpdate() - .set(SysUser::getPassword, password) - .eq(SysUser::getUserId, userVO.getUserId())); + this.update(Wrappers.lambdaUpdate().set(SysUser::getPassword, password).eq(SysUser::getUserId, + userVO.getUserId())); return R.ok(); } @@ -475,24 +465,20 @@ public class SysUserServiceImpl extends ServiceImpl impl PigxUser user = SecurityUtils.getUser(); LambdaUpdateWrapper wrapper = null; if (type.equals("wechat")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getWxOpenid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getWxOpenid, null).eq(SysUser::getUserId, + user.getId()); } else if (type.equals("gitee")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getGiteeLogin, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getGiteeLogin, null).eq(SysUser::getUserId, + user.getId()); } else if (type.equals("osc")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getOscId, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getOscId, null).eq(SysUser::getUserId, + user.getId()); } else if (type.equals("tencent")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getQqOpenid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getQqOpenid, null).eq(SysUser::getUserId, + user.getId()); } if (wrapper == null) { return R.failed("解绑账号类型不存在"); @@ -520,9 +506,7 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public List listUserIdByRoleIds(List roleIdList) { return sysUserRoleMapper.selectList(Wrappers.lambdaQuery().in(SysUserRole::getRoleId, roleIdList)) - .stream() - .map(SysUserRole::getRoleId) - .collect(Collectors.toList()); + .stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); } /** diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java index 7873771df..a516e892b 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableServiceImpl.java @@ -116,10 +116,9 @@ public class GenTableServiceImpl extends ServiceImpl i genTable = this.tableImport(dsName, tableName); } - List fieldList = columnService.list(Wrappers.lambdaQuery() - .eq(GenTableColumnEntity::getDsName, dsName) - .eq(GenTableColumnEntity::getTableName, tableName) - .orderByAsc(GenTableColumnEntity::getSort)); + List fieldList = columnService + .list(Wrappers.lambdaQuery().eq(GenTableColumnEntity::getDsName, dsName) + .eq(GenTableColumnEntity::getTableName, tableName).orderByAsc(GenTableColumnEntity::getSort)); genTable.setFieldList(fieldList); // 查询模板分组信息 diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java index d78f6018b..7e56900e5 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java @@ -185,8 +185,8 @@ public class GeneratorServiceImpl implements GeneratorService { // 获取模板信息,Lambda 表达式简化代码 GenTemplateEntity genTemplateEntity = Optional - .ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_JSON.getTemplateId())) - .orElseThrow(() -> new Exception("模板不存在")); + .ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_JSON.getTemplateId())) + .orElseThrow(() -> new Exception("模板不存在")); // 渲染模板并返回结果 return VelocityKit.renderStr(genTemplateEntity.getTemplateCode(), dataModel); @@ -217,8 +217,8 @@ public class GeneratorServiceImpl implements GeneratorService { // 获取模板信息 GenTemplateEntity genTemplateEntity = Optional - .ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_FORM.getTemplateId())) - .orElseThrow(() -> new Exception("模板不存在")); + .ofNullable(genTemplateService.getById(GeneratorStyleEnum.VFORM_FORM.getTemplateId())) + .orElseThrow(() -> new Exception("模板不存在")); // 渲染模板并返回结果 return VelocityKit.renderStr(genTemplateEntity.getTemplateCode(), dataModel); @@ -234,10 +234,9 @@ public class GeneratorServiceImpl implements GeneratorService { GenTable table = tableService.getById(tableId); // 获取字段列表 List fieldList = columnService.lambdaQuery() - .eq(GenTableColumnEntity::getDsName, table.getDsName()) - .eq(GenTableColumnEntity::getTableName, table.getTableName()) - .orderByAsc(GenTableColumnEntity::getSort) - .list(); + .eq(GenTableColumnEntity::getDsName, table.getDsName()) + .eq(GenTableColumnEntity::getTableName, table.getTableName()).orderByAsc(GenTableColumnEntity::getSort) + .list(); table.setFieldList(fieldList); @@ -276,9 +275,8 @@ public class GeneratorServiceImpl implements GeneratorService { String childTableName = table.getChildTableName(); if (StrUtil.isNotBlank(childTableName)) { List childFieldList = columnService.lambdaQuery() - .eq(GenTableColumnEntity::getDsName, table.getDsName()) - .eq(GenTableColumnEntity::getTableName, table.getChildTableName()) - .list(); + .eq(GenTableColumnEntity::getDsName, table.getDsName()) + .eq(GenTableColumnEntity::getTableName, table.getChildTableName()).list(); dataModel.put("childFieldList", childFieldList); dataModel.put("childTableName", childTableName); dataModel.put("mainField", NamingCase.toCamelCase(table.getMainField())); @@ -297,24 +295,18 @@ public class GeneratorServiceImpl implements GeneratorService { */ private void setFieldTypeList(Map dataModel, GenTable table) { // 按字段类型分组,使用 Map 存储不同类型的字段列表 - Map> typeMap = table.getFieldList() - .stream() - .collect(Collectors.partitioningBy(columnEntity -> BooleanUtil.toBoolean(columnEntity.getPrimaryPk().toString()))); + Map> typeMap = table.getFieldList().stream().collect(Collectors + .partitioningBy(columnEntity -> BooleanUtil.toBoolean(columnEntity.getPrimaryPk().toString()))); // 从分组后的 Map 中获取不同类型的字段列表 List primaryList = typeMap.get(true); - List formList = typeMap.get(false) - .stream() - .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getFormItem())) - .collect(Collectors.toList()); - List gridList = typeMap.get(false) - .stream() - .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getGridItem())) - .collect(Collectors.toList()); - List queryList = typeMap.get(false) - .stream() - .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getQueryItem())) - .collect(Collectors.toList()); + List formList = typeMap.get(false).stream() + .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getFormItem())).collect(Collectors.toList()); + List gridList = typeMap.get(false).stream() + .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getGridItem())).collect(Collectors.toList()); + List queryList = typeMap.get(false).stream() + .filter(columnEntity -> BooleanUtil.toBoolean(columnEntity.getQueryItem())) + .collect(Collectors.toList()); if (CollUtil.isNotEmpty(primaryList)) { dataModel.put("pk", primaryList.get(0));