diff --git a/README.md b/README.md index 1cc5214f..2ff05c24 100644 --- a/README.md +++ b/README.md @@ -32,31 +32,17 @@ admin | matecloud123 | 不能执行增删改请求,如需全部权限加微信 Spring Boot | 2.3.*.RELEASE | SpringBoot Spring Cloud | Hoxton SR* | SpringCloud Spring Cloud Alibaba | 2.2.*.RELEASE | SpringCloudAlibaba -Nacos | 1.4.*及以下 | nacos -Sentinel | 1.8.1 | sentinel +Nacos | 1.4.*及以下 | nacos +Sentinel | 1.8.1 | sentinel ## 📖 官方文档 ### 👉 文档地址:[http://www.mate.vip/docs](http://www.mate.vip/docs) ### 👉 商业版文档:[http://doc.mate.vip](http://doc.mate.vip) ### 👉 快速安装:[http://www.mate.vip/archives/107](http://www.mate.vip/archives/107) -## 🔥 前端重大更新 -前端采用`Vue3.2`、`Vite 2.5.*`、 `Ant-Design-Vue 2.*`、`TypeScript` 的大型中后台解决方案。 -### 👉 技术栈 -- Vue 3.2.2 -- Pinia 2.0.0-rc.4 -- vue-i18n 9.1.7 -- typescript 4.29.1 -- ant-design-vue 2.2.6 -- axios 0.21.1 -- vue-router 4.0.11 -- vite 2.5.0-beta.2 -### 👉 版本发布 -`4.0.8-M1`版本已经发布,实现了系统管理的基础功能,主要包括菜单管理、用户管理、角色管理、部门管理、日志管理、客户端管理等功能。欢迎体验。 - ## 👷 技术交流

- +

👉 QQ群:2003638 @@ -167,7 +153,7 @@ matecloud -- 父项目,各模块分离,方便集成和微服务 vip.mate mate-starter-dependencies - 3.8.8 + 4.0.8 pom import @@ -176,6 +162,21 @@ matecloud -- 父项目,各模块分离,方便集成和微服务 ``` 然后在 dependencies 中添加自己所需使用的依赖即可使用。 +## 🔥 前端重大更新 +前端采用`Vue3.2.4`、`Vite 2.5.1`、 `Ant-Design-Vue 2.2.6`、`TypeScript` 的大型中后台解决方案。 +### 👉 技术栈 +- Vue 3.2.4 +- Pinia 2.0.0-rc.6 +- vue-i18n 9.1.7 +- typescript 4.29.1 +- ant-design-vue 2.2.6 +- axios 0.21.1 +- vue-router 4.0.11 +- vite 2.5.1 +### 👉 版本发布 +`4.0.8-M2`版本已经发布,完善了系统管理的基础功能,主要包括菜单管理、用户管理、角色管理、部门管理、日志管理、客户端管理等功能。后续功能正在加紧开发中,欢迎体验。 + + ## 🌭 项目源码 | 项目 | GITHUB | 码云 | |--- |--- | --- | diff --git a/doc/images/qr_group.jpg b/doc/images/qr_group.jpg new file mode 100644 index 00000000..5613b8d1 Binary files /dev/null and b/doc/images/qr_group.jpg differ diff --git a/mate-core/mate-starter-auth/pom.xml b/mate-core/mate-starter-auth/pom.xml index 1a7f3dd4..53aed093 100644 --- a/mate-core/mate-starter-auth/pom.xml +++ b/mate-core/mate-starter-auth/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-cloud/pom.xml b/mate-core/mate-starter-cloud/pom.xml index d56a6a98..da6beb7f 100644 --- a/mate-core/mate-starter-cloud/pom.xml +++ b/mate-core/mate-starter-cloud/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-common/pom.xml b/mate-core/mate-starter-common/pom.xml index beabc394..fb8dbaac 100644 --- a/mate-core/mate-starter-common/pom.xml +++ b/mate-core/mate-starter-common/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java b/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java index 2a83df03..aa28cb67 100644 --- a/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java +++ b/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java @@ -13,7 +13,7 @@ public class MateConstant { /** * 应用版本号 */ - public static final String MATE_APP_VERSION = "4.0.9"; + public static final String MATE_APP_VERSION = "4.0.10"; /** * Spring 应用名 prop key diff --git a/mate-core/mate-starter-database/pom.xml b/mate-core/mate-starter-database/pom.xml index 411d3f00..81ab7ce0 100644 --- a/mate-core/mate-starter-database/pom.xml +++ b/mate-core/mate-starter-database/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-dependencies/pom.xml b/mate-core/mate-starter-dependencies/pom.xml index 855e662c..d01508ed 100644 --- a/mate-core/mate-starter-dependencies/pom.xml +++ b/mate-core/mate-starter-dependencies/pom.xml @@ -12,7 +12,7 @@ vip.mate mate-starter-dependencies - 4.0.9 + 4.0.10 pom mate-starter-dependencies based on Spring Cloud Alibaba dependencies @@ -39,7 +39,7 @@ - 4.0.9 + 4.0.10 UTF-8 2.5.4 @@ -58,7 +58,7 @@ 12.2.0.1 42.2.6 1.2.6 - 3.4.3.1 + 3.4.3.3 3.4.1 3.3.2 1.7 @@ -72,13 +72,13 @@ 2.6.0 - 2.7.12 - 1.2.76 + [2.7.13,) + 1.2.78 2.5.0 4.1.2 2.0.3 - 4.3.0 + 4.4.0 1.7.2 1.15.8 1.3.3 @@ -99,15 +99,15 @@ 1.4.2 1.6.2 - 3.0.3 + 3.0.4 2.2.3 2.8.2-release - 2.8.6 + 2.8.8 30.1.1-jre - 1.11.996 + 1.12.63 1.18.20 - 5.6.3 + 5.7.11 diff --git a/mate-core/mate-starter-dubbo/pom.xml b/mate-core/mate-starter-dubbo/pom.xml index d90c7104..74629865 100644 --- a/mate-core/mate-starter-dubbo/pom.xml +++ b/mate-core/mate-starter-dubbo/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-encrypt/pom.xml b/mate-core/mate-starter-encrypt/pom.xml index 44493387..52f764db 100644 --- a/mate-core/mate-starter-encrypt/pom.xml +++ b/mate-core/mate-starter-encrypt/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-feign/pom.xml b/mate-core/mate-starter-feign/pom.xml index 25332a75..87ea8b99 100644 --- a/mate-core/mate-starter-feign/pom.xml +++ b/mate-core/mate-starter-feign/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-file/pom.xml b/mate-core/mate-starter-file/pom.xml index f4065cb8..1c3236d0 100644 --- a/mate-core/mate-starter-file/pom.xml +++ b/mate-core/mate-starter-file/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-gray/pom.xml b/mate-core/mate-starter-gray/pom.xml index 7182d8d6..1eebb13c 100644 --- a/mate-core/mate-starter-gray/pom.xml +++ b/mate-core/mate-starter-gray/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-idempotent/pom.xml b/mate-core/mate-starter-idempotent/pom.xml index 64c1f327..ae16a528 100644 --- a/mate-core/mate-starter-idempotent/pom.xml +++ b/mate-core/mate-starter-idempotent/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-jetcache/pom.xml b/mate-core/mate-starter-jetcache/pom.xml index 4a7f3def..5bd2bfcb 100644 --- a/mate-core/mate-starter-jetcache/pom.xml +++ b/mate-core/mate-starter-jetcache/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-job/pom.xml b/mate-core/mate-starter-job/pom.xml index 6fd85ec8..f82e2d02 100644 --- a/mate-core/mate-starter-job/pom.xml +++ b/mate-core/mate-starter-job/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 jar diff --git a/mate-core/mate-starter-kafka/pom.xml b/mate-core/mate-starter-kafka/pom.xml index e1f28a1a..a9742a01 100644 --- a/mate-core/mate-starter-kafka/pom.xml +++ b/mate-core/mate-starter-kafka/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-lock/pom.xml b/mate-core/mate-starter-lock/pom.xml index b3af5768..1d2eeffe 100644 --- a/mate-core/mate-starter-lock/pom.xml +++ b/mate-core/mate-starter-lock/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonLock.java b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonLock.java index f2d6244a..5f2b5835 100644 --- a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonLock.java +++ b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonLock.java @@ -31,7 +31,7 @@ public class RedissonLock { */ public boolean lock(String lockName, long expireSeconds) { RLock rLock = redissonManager.getRedisson().getLock(lockName); - boolean getLock = false; + boolean getLock; try { getLock = rLock.tryLock(0, expireSeconds, TimeUnit.SECONDS); if (getLock) { diff --git a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonManager.java b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonManager.java index 755018d2..cd7a8913 100644 --- a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonManager.java +++ b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/RedissonManager.java @@ -3,8 +3,13 @@ import com.google.common.base.Preconditions; import lombok.extern.slf4j.Slf4j; import org.redisson.Redisson; +import org.redisson.api.RedissonClient; import org.redisson.config.Config; -import vip.mate.core.lock.config.strategy.*; +import vip.mate.core.lock.config.strategy.ClusterRedissonConfigStrategyImpl; +import vip.mate.core.lock.config.strategy.MasterslaveRedissonConfigStrategyImpl; +import vip.mate.core.lock.config.strategy.RedissonConfigContext; +import vip.mate.core.lock.config.strategy.SentinelRedissonConfigStrategyImpl; +import vip.mate.core.lock.config.strategy.StandaloneRedissonConfigStrategyImpl; import vip.mate.core.lock.constant.RedisConnectionType; import vip.mate.core.lock.props.RedissonProperties; @@ -19,7 +24,7 @@ public class RedissonManager { private Config config = new Config(); - private Redisson redisson = null; + private RedissonClient redisson = null; public RedissonManager() { } @@ -27,7 +32,7 @@ public RedissonManager() { public RedissonManager(RedissonProperties redissonProperties) { try { config = RedissonConfigFactory.getInstance().createConfig(redissonProperties); - redisson = (Redisson) Redisson.create(config); + redisson = Redisson.create(config); } catch (Exception e) { log.error("Redisson init error", e); throw new IllegalArgumentException("please input correct configurations," + @@ -35,7 +40,7 @@ public RedissonManager(RedissonProperties redissonProperties) { } } - public Redisson getRedisson() { + public RedissonClient getRedisson() { return redisson; } @@ -72,11 +77,10 @@ public static RedissonConfigFactory getInstance() { Config createConfig(RedissonProperties redissonProperties) { Preconditions.checkNotNull(redissonProperties); Preconditions.checkNotNull(redissonProperties.getAddress(), "redisson.lock.server.address cannot be NULL!"); - Preconditions.checkNotNull(redissonProperties.getType(), "redisson.lock.server.password cannot be NULL"); - Preconditions.checkNotNull(redissonProperties.getDatabase(), "redisson.lock.server.database cannot be NULL"); + // Preconditions.checkNotNull(redissonProperties.getType(), "redisson.lock.server.password cannot be NULL"); String connectionType = redissonProperties.getType(); // 声明配置上下文 - RedissonConfigContext redissonConfigContext = null; + RedissonConfigContext redissonConfigContext; if (connectionType.equals(RedisConnectionType.STANDALONE.getConnection_type())) { redissonConfigContext = new RedissonConfigContext(new StandaloneRedissonConfigStrategyImpl()); } else if (connectionType.equals(RedisConnectionType.SENTINEL.getConnection_type())) { diff --git a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/config/strategy/ClusterRedissonConfigStrategyImpl.java b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/config/strategy/ClusterRedissonConfigStrategyImpl.java index 2d2f002c..e502c828 100644 --- a/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/config/strategy/ClusterRedissonConfigStrategyImpl.java +++ b/mate-core/mate-starter-lock/src/main/java/vip/mate/core/lock/config/strategy/ClusterRedissonConfigStrategyImpl.java @@ -23,9 +23,9 @@ public Config createRedissonConfig(RedissonProperties redissonProperties) { String password = redissonProperties.getPassword(); String[] addrTokens = address.split(","); // 设置cluster节点的服务IP和端口 - for (int i = 0; i < addrTokens.length; i++) { + for (String addrToken : addrTokens) { config.useClusterServers() - .addNodeAddress(GlobalConstant.REDIS_CONNECTION_PREFIX.getConstant_value() + addrTokens[i]); + .addNodeAddress(GlobalConstant.REDIS_CONNECTION_PREFIX.getConstant_value() + addrToken); if (StringUtils.isNotBlank(password)) { config.useClusterServers().setPassword(password); } diff --git a/mate-core/mate-starter-log/pom.xml b/mate-core/mate-starter-log/pom.xml index 868f2682..0123712d 100644 --- a/mate-core/mate-starter-log/pom.xml +++ b/mate-core/mate-starter-log/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-mail/pom.xml b/mate-core/mate-starter-mail/pom.xml index 802a74d7..7bfb2362 100644 --- a/mate-core/mate-starter-mail/pom.xml +++ b/mate-core/mate-starter-mail/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-mongodb/pom.xml b/mate-core/mate-starter-mongodb/pom.xml index 452224e7..70ca0291 100644 --- a/mate-core/mate-starter-mongodb/pom.xml +++ b/mate-core/mate-starter-mongodb/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-mybatis/pom.xml b/mate-core/mate-starter-mybatis/pom.xml index 6d09ab5d..ee04d0a0 100644 --- a/mate-core/mate-starter-mybatis/pom.xml +++ b/mate-core/mate-starter-mybatis/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/MateSqlInjector.java b/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/MateSqlInjector.java index 98bdcb7d..d82a0b73 100644 --- a/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/MateSqlInjector.java +++ b/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/MateSqlInjector.java @@ -16,13 +16,7 @@ package vip.mate.core.mybatis.injector; -import com.baomidou.mybatisplus.core.injector.AbstractMethod; import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; -import vip.mate.core.mybatis.injector.methods.*; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; /** * 自定义的 sql 注入 @@ -31,15 +25,15 @@ */ public class MateSqlInjector extends DefaultSqlInjector { - @Override - public List getMethodList(Class mapperClass) { - List methodList = new ArrayList<>(); - methodList.add(new InsertBatch()); - methodList.add(new InsertIgnore()); - methodList.add(new InsertIgnoreBatch()); - methodList.add(new Replace()); - methodList.add(new ReplaceBatch()); - methodList.addAll(super.getMethodList(mapperClass)); - return Collections.unmodifiableList(methodList); - } +// @Override +// public List getMethodList(Class mapperClass) { +// List methodList = new ArrayList<>(); +// methodList.add(new InsertBatch()); +// methodList.add(new InsertIgnore()); +// methodList.add(new InsertIgnoreBatch()); +// methodList.add(new Replace()); +// methodList.add(new ReplaceBatch()); +// methodList.addAll(super.getMethodList(mapperClass)); +// return Collections.unmodifiableList(methodList); +// } } diff --git a/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/methods/AbstractInsertBatch.java b/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/methods/AbstractInsertBatch.java index 387b9728..c4f3b740 100644 --- a/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/methods/AbstractInsertBatch.java +++ b/mate-core/mate-starter-mybatis/src/main/java/vip/mate/core/mybatis/injector/methods/AbstractInsertBatch.java @@ -40,95 +40,95 @@ */ @RequiredArgsConstructor public class AbstractInsertBatch extends AbstractMethod { - private final String sqlTemp; - private final String sqlMethod; + private final String sqlTemp; + private final String sqlMethod; - @Override - public MappedStatement injectMappedStatement(Class mapperClass, Class modelClass, TableInfo tableInfo) { - KeyGenerator keyGenerator = new NoKeyGenerator(); - String keyProperty = null; - String keyColumn = null; - // 表包含主键处理逻辑,如果不包含主键当普通字段处理 - if (StringUtils.hasText(tableInfo.getKeyProperty())) { - if (tableInfo.getIdType() == IdType.AUTO) { - /** 自增主键 */ - keyGenerator = new Jdbc3KeyGenerator(); - keyProperty = tableInfo.getKeyProperty(); - keyColumn = tableInfo.getKeyColumn(); - } else { - if (null != tableInfo.getKeySequence()) { - keyGenerator = TableInfoHelper.genKeyGenerator(sqlMethod, tableInfo, this.builderAssistant); - keyProperty = tableInfo.getKeyProperty(); - keyColumn = tableInfo.getKeyColumn(); - } - } - } - // 所以字段 - String columnScript = SqlScriptUtils.convertTrim(getAllInsertSqlColumnMaybeIf(tableInfo), LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); - // 单条 sql 的脚本 - String valuesScript = SqlScriptUtils.convertTrim(getAllInsertSqlPropertyMaybeIf(tableInfo), - LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); - // 列表 sql - String valuesScripts = SqlScriptUtils.convertForeach(valuesScript, COLLECTION, null, ENTITY, COMMA); - String sql = String.format(sqlTemp, tableInfo.getTableName(), columnScript, valuesScripts); - SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass); - return this.addInsertMappedStatement(mapperClass, modelClass, sqlMethod, sqlSource, keyGenerator, keyProperty, keyColumn); - } + @Override + public MappedStatement injectMappedStatement(Class mapperClass, Class modelClass, TableInfo tableInfo) { + KeyGenerator keyGenerator = new NoKeyGenerator(); + String keyProperty = null; + String keyColumn = null; + // 表包含主键处理逻辑,如果不包含主键当普通字段处理 + if (StringUtils.hasText(tableInfo.getKeyProperty())) { + if (tableInfo.getIdType() == IdType.AUTO) { + /** 自增主键 */ + keyGenerator = new Jdbc3KeyGenerator(); + keyProperty = tableInfo.getKeyProperty(); + keyColumn = tableInfo.getKeyColumn(); + } else { + if (null != tableInfo.getKeySequence()) { + keyGenerator = TableInfoHelper.genKeyGenerator(sqlMethod, tableInfo, this.builderAssistant); + keyProperty = tableInfo.getKeyProperty(); + keyColumn = tableInfo.getKeyColumn(); + } + } + } + // 所以字段 + String columnScript = SqlScriptUtils.convertTrim(getAllInsertSqlColumnMaybeIf(tableInfo), LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); + // 单条 sql 的脚本 + String valuesScript = SqlScriptUtils.convertTrim(getAllInsertSqlPropertyMaybeIf(tableInfo), + LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); + // 列表 sql + String valuesScripts = SqlScriptUtils.convertForeach(valuesScript, COLLECTION, null, ENTITY, COMMA); + String sql = String.format(sqlTemp, tableInfo.getTableName(), columnScript, valuesScripts); + SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass); + return this.addInsertMappedStatement(mapperClass, modelClass, sqlMethod, sqlSource, keyGenerator, keyProperty, keyColumn); + } - /** - * 获取 insert 时候字段 sql 脚本片段 - *

insert into table (字段) values (值)

- *

位于 "字段" 部位

- * - *
  • 自动选部位,根据规则会生成 if 标签
  • - * - * @return sql 脚本片段 - */ - private static String getAllInsertSqlColumnMaybeIf(TableInfo tableInfo) { - List fieldList = tableInfo.getFieldList(); - return tableInfo.getKeyInsertSqlColumn(true) + fieldList.stream().map(AbstractInsertBatch::getInsertSqlColumnMaybeIf) - .collect(Collectors.joining(NEWLINE)); - } + /** + * 获取 insert 时候字段 sql 脚本片段 + *

    insert into table (字段) values (值)

    + *

    位于 "字段" 部位

    + * + *
  • 自动选部位,根据规则会生成 if 标签
  • + * + * @return sql 脚本片段 + */ + private static String getAllInsertSqlColumnMaybeIf(TableInfo tableInfo) { + List fieldList = tableInfo.getFieldList(); + return tableInfo.getKeyInsertSqlColumn(true, true) + fieldList.stream().map(AbstractInsertBatch::getInsertSqlColumnMaybeIf) + .collect(Collectors.joining(NEWLINE)); + } - /** - * 获取 insert 时候字段 sql 脚本片段 - *

    insert into table (字段) values (值)

    - *

    位于 "字段" 部位

    - * - *
  • 根据规则会生成 if 标签
  • - * - * @return sql 脚本片段 - */ - private static String getInsertSqlColumnMaybeIf(TableFieldInfo tableFieldInfo) { - return tableFieldInfo.getInsertSqlColumn(); - } + /** + * 获取 insert 时候字段 sql 脚本片段 + *

    insert into table (字段) values (值)

    + *

    位于 "字段" 部位

    + * + *
  • 根据规则会生成 if 标签
  • + * + * @return sql 脚本片段 + */ + private static String getInsertSqlColumnMaybeIf(TableFieldInfo tableFieldInfo) { + return tableFieldInfo.getInsertSqlColumn(); + } - /** - * 获取所有 insert 时候插入值 sql 脚本片段 - *

    insert into table (字段) values (值)

    - *

    位于 "值" 部位

    - * - *
  • 自动选部位,根据规则会生成 if 标签
  • - * - * @return sql 脚本片段 - */ - private static String getAllInsertSqlPropertyMaybeIf(final TableInfo tableInfo) { - List fieldList = tableInfo.getFieldList(); - return tableInfo.getKeyInsertSqlProperty(ENTITY_DOT, true) + fieldList.stream() - .map(AbstractInsertBatch::getInsertSqlPropertyMaybeIf) - .collect(Collectors.joining(NEWLINE)); - } + /** + * 获取所有 insert 时候插入值 sql 脚本片段 + *

    insert into table (字段) values (值)

    + *

    位于 "值" 部位

    + * + *
  • 自动选部位,根据规则会生成 if 标签
  • + * + * @return sql 脚本片段 + */ + private static String getAllInsertSqlPropertyMaybeIf(final TableInfo tableInfo) { + List fieldList = tableInfo.getFieldList(); + return tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT, true) + fieldList.stream() + .map(AbstractInsertBatch::getInsertSqlPropertyMaybeIf) + .collect(Collectors.joining(NEWLINE)); + } - /** - * 获取 insert 时候插入值 sql 脚本片段 - *

    insert into table (字段) values (值)

    - *

    位于 "值" 部位

    - * - *
  • 根据规则会生成 if 标签
  • - * - * @return sql 脚本片段 - */ - private static String getInsertSqlPropertyMaybeIf(TableFieldInfo tableFieldInfo) { - return tableFieldInfo.getInsertSqlProperty(ENTITY_DOT); - } + /** + * 获取 insert 时候插入值 sql 脚本片段 + *

    insert into table (字段) values (值)

    + *

    位于 "值" 部位

    + * + *
  • 根据规则会生成 if 标签
  • + * + * @return sql 脚本片段 + */ + private static String getInsertSqlPropertyMaybeIf(TableFieldInfo tableFieldInfo) { + return tableFieldInfo.getInsertSqlProperty(ENTITY_DOT); + } } diff --git a/mate-core/mate-starter-oss/pom.xml b/mate-core/mate-starter-oss/pom.xml index 516803b5..a7399b3f 100644 --- a/mate-core/mate-starter-oss/pom.xml +++ b/mate-core/mate-starter-oss/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-prometheus/pom.xml b/mate-core/mate-starter-prometheus/pom.xml index e817d2e6..01aec61b 100644 --- a/mate-core/mate-starter-prometheus/pom.xml +++ b/mate-core/mate-starter-prometheus/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-rabbit/pom.xml b/mate-core/mate-starter-rabbit/pom.xml index ff7f318b..f156e8f6 100644 --- a/mate-core/mate-starter-rabbit/pom.xml +++ b/mate-core/mate-starter-rabbit/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-redis/pom.xml b/mate-core/mate-starter-redis/pom.xml index b503bdc2..5d55f907 100644 --- a/mate-core/mate-starter-redis/pom.xml +++ b/mate-core/mate-starter-redis/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-rocketmq/pom.xml b/mate-core/mate-starter-rocketmq/pom.xml index 32907dbb..74a778ad 100644 --- a/mate-core/mate-starter-rocketmq/pom.xml +++ b/mate-core/mate-starter-rocketmq/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-rule/pom.xml b/mate-core/mate-starter-rule/pom.xml index 57c3b15b..c308db71 100644 --- a/mate-core/mate-starter-rule/pom.xml +++ b/mate-core/mate-starter-rule/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-seata/pom.xml b/mate-core/mate-starter-seata/pom.xml index 66c53d66..99b6e389 100644 --- a/mate-core/mate-starter-seata/pom.xml +++ b/mate-core/mate-starter-seata/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-security/pom.xml b/mate-core/mate-starter-security/pom.xml index d361e1fd..354987fe 100644 --- a/mate-core/mate-starter-security/pom.xml +++ b/mate-core/mate-starter-security/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-sentinel/pom.xml b/mate-core/mate-starter-sentinel/pom.xml index 5f459994..986ef880 100644 --- a/mate-core/mate-starter-sentinel/pom.xml +++ b/mate-core/mate-starter-sentinel/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-sms/pom.xml b/mate-core/mate-starter-sms/pom.xml index 12cc1f10..de4417f8 100644 --- a/mate-core/mate-starter-sms/pom.xml +++ b/mate-core/mate-starter-sms/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-strategy/pom.xml b/mate-core/mate-starter-strategy/pom.xml index 944e2f40..5780f175 100644 --- a/mate-core/mate-starter-strategy/pom.xml +++ b/mate-core/mate-starter-strategy/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-validator/pom.xml b/mate-core/mate-starter-validator/pom.xml index 700877d7..273d5a1f 100644 --- a/mate-core/mate-starter-validator/pom.xml +++ b/mate-core/mate-starter-validator/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-web/pom.xml b/mate-core/mate-starter-web/pom.xml index 3e213343..e7049425 100644 --- a/mate-core/mate-starter-web/pom.xml +++ b/mate-core/mate-starter-web/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/tree/ForestNodeMerger.java b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/tree/ForestNodeMerger.java index c07c2973..7da731d2 100644 --- a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/tree/ForestNodeMerger.java +++ b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/tree/ForestNodeMerger.java @@ -4,6 +4,7 @@ /** * 节点归并类 + * * @author pangu * @link https://blog.csdn.net/u014424628/article/details/51765394?utm_source=blogxgwz2 */ diff --git a/mate-core/pom.xml b/mate-core/pom.xml index 87450d3e..24c2ccc6 100644 --- a/mate-core/pom.xml +++ b/mate-core/pom.xml @@ -6,7 +6,7 @@ mate-core vip.mate - 4.0.9 + 4.0.10 pom mate-core based on Spring Cloud Alibaba microservice components @@ -67,7 +67,7 @@ - 4.0.9 + 4.0.10 2.9.2 1.5.21 1.9.4 diff --git a/mate-examples/pom.xml b/mate-examples/pom.xml index b8b63282..67472896 100644 --- a/mate-examples/pom.xml +++ b/mate-examples/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-examples/seata-example/pom.xml b/mate-examples/seata-example/pom.xml index 66c53c70..9a9c62c8 100644 --- a/mate-examples/seata-example/pom.xml +++ b/mate-examples/seata-example/pom.xml @@ -5,7 +5,7 @@ mate-examples vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-examples/seata-example/seata-order-example/pom.xml b/mate-examples/seata-example/seata-order-example/pom.xml index c73d5266..5e333c48 100644 --- a/mate-examples/seata-example/seata-order-example/pom.xml +++ b/mate-examples/seata-example/seata-order-example/pom.xml @@ -5,7 +5,7 @@ seata-example vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-examples/seata-example/seata-point-example/pom.xml b/mate-examples/seata-example/seata-point-example/pom.xml index 8972d2a4..5ea4dbc8 100644 --- a/mate-examples/seata-example/seata-point-example/pom.xml +++ b/mate-examples/seata-example/seata-point-example/pom.xml @@ -5,7 +5,7 @@ seata-example vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-examples/seata-example/seata-user-example/pom.xml b/mate-examples/seata-example/seata-user-example/pom.xml index 6dd6d221..4a4ef37e 100644 --- a/mate-examples/seata-example/seata-user-example/pom.xml +++ b/mate-examples/seata-example/seata-user-example/pom.xml @@ -5,7 +5,7 @@ seata-example vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-examples/sso-ui-example/pom.xml b/mate-examples/sso-ui-example/pom.xml index 3bb9be07..67a31b98 100644 --- a/mate-examples/sso-ui-example/pom.xml +++ b/mate-examples/sso-ui-example/pom.xml @@ -5,7 +5,7 @@ mate-examples vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-gateway/pom.xml b/mate-gateway/pom.xml index 96544c14..9e4677eb 100644 --- a/mate-gateway/pom.xml +++ b/mate-gateway/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-mq/mate-log-producer/pom.xml b/mate-mq/mate-log-producer/pom.xml index d5a704b0..d6f83521 100644 --- a/mate-mq/mate-log-producer/pom.xml +++ b/mate-mq/mate-log-producer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-mq/mate-message-consumer/pom.xml b/mate-mq/mate-message-consumer/pom.xml index 245d984b..a86777bb 100644 --- a/mate-mq/mate-message-consumer/pom.xml +++ b/mate-mq/mate-message-consumer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-mq/mate-message-producer/pom.xml b/mate-mq/mate-message-producer/pom.xml index 7ead19df..b27fa1d8 100644 --- a/mate-mq/mate-message-producer/pom.xml +++ b/mate-mq/mate-message-producer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-mq/pom.xml b/mate-mq/pom.xml index 8a17bea3..dff33ed9 100644 --- a/mate-mq/pom.xml +++ b/mate-mq/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-platform/mate-component-api/pom.xml b/mate-platform/mate-component-api/pom.xml index 832abe94..01e015dd 100644 --- a/mate-platform/mate-component-api/pom.xml +++ b/mate-platform/mate-component-api/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-platform/mate-component/pom.xml b/mate-platform/mate-component/pom.xml index 34b3311c..5fb09eca 100644 --- a/mate-platform/mate-component/pom.xml +++ b/mate-platform/mate-component/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-platform/mate-system-api/pom.xml b/mate-platform/mate-system-api/pom.xml index 3e5309a8..a3df8d01 100644 --- a/mate-platform/mate-system-api/pom.xml +++ b/mate-platform/mate-system-api/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-platform/mate-system/pom.xml b/mate-platform/mate-system/pom.xml index 26f6c769..5b468990 100644 --- a/mate-platform/mate-system/pom.xml +++ b/mate-platform/mate-system/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 4.0.9 + 4.0.10 4.0.0 @@ -49,6 +49,10 @@ vip.mate mate-starter-idempotent + + org.springframework.boot + spring-boot-starter-test + diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysApiController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysApiController.java index 94830010..1b40c168 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysApiController.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysApiController.java @@ -36,6 +36,7 @@ import vip.mate.system.entity.SysApi; import vip.mate.system.service.ISysApiService; +import javax.annotation.Nullable; import javax.validation.Valid; import java.util.List; import java.util.Map; @@ -52,143 +53,143 @@ @RestController @AllArgsConstructor @RequestMapping("/api") -@Api(value = "API管理", tags = "API管理接口") +@Api(value = "API管理") public class SysApiController extends BaseController { - private final ISysApiService sysApiService; + private final ISysApiService sysApiService; - private final RedisService redisService; + private final RedisService redisService; - /** - * 分页列表 - * - * @param page 分页信息 - * @param search  搜索关键词 - * @return Result - */ - @PreAuth - @Log(value = "API列表", exception = "API列表请求异常") - @GetMapping("/page") - @ApiOperation(value = "API列表", notes = "分页查询") - @ApiImplicitParams({ - @ApiImplicitParam(name = "current", required = true, value = "当前页", paramType = "form"), - @ApiImplicitParam(name = "size", required = true, value = "每页显示数据", paramType = "form"), - @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"), - @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"), - @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"), - }) - public Result page(Page page, Search search, @RequestParam String serviceId) { - return Result.data(sysApiService.listPage(page, search, serviceId)); - } + /** + * 分页列表 + * + * @param page 分页信息 + * @param search  搜索关键词 + * @return Result + */ + @PreAuth + @Log(value = "API分页") + @GetMapping("/page") + @ApiOperation(value = "API分页") + @ApiImplicitParams({ + @ApiImplicitParam(name = "current", required = true, value = "当前页", paramType = "form"), + @ApiImplicitParam(name = "size", required = true, value = "每页显示数据", paramType = "form"), + @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"), + @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"), + @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"), + }) + public Result page(Page page, Search search, @Nullable @RequestParam String serviceId) { + return Result.data(sysApiService.listPage(page, search, serviceId)); + } - /** - * API管理信息 - * - * @param id Id - * @return Result - */ - @PreAuth - @Log(value = "API信息", exception = "API信息请求异常") - @GetMapping("/get") - @ApiOperation(value = "API信息", notes = "根据ID查询") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", required = true, value = "ID", paramType = "form"), - }) - public Result get(@RequestParam String id) { - return Result.data(sysApiService.getById(id)); - } + /** + * API管理信息 + * + * @param id Id + * @return Result + */ + @PreAuth + @Log(value = "API信息") + @GetMapping("/get") + @ApiOperation(value = "API信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", required = true, value = "ID", paramType = "form"), + }) + public Result get(@RequestParam String id) { + return Result.data(sysApiService.getById(id)); + } - /** - * API管理设置 - * - * @param sysApi SysApi 对象 - * @return Result - */ - @PreAuth - @Log(value = "API设置", exception = "API设置请求异常") - @PostMapping("/set") - @ApiOperation(value = "API设置", notes = "API设置,支持新增或修改") - public Result set(@Valid @RequestBody SysApi sysApi) { - return Result.condition(sysApiService.saveOrUpdate(sysApi)); - } + /** + * API管理设置 + * + * @param sysApi SysApi 对象 + * @return Result + */ + @PreAuth + @Log(value = "API设置") + @PostMapping("/set") + @ApiOperation(value = "API设置") + public Result set(@Valid @RequestBody SysApi sysApi) { + return Result.condition(sysApiService.saveOrUpdate(sysApi)); + } - /** - * API管理删除 - * - * @param ids id字符串,根据,号分隔 - * @return Result - */ - @PreAuth - @Log(value = "API删除", exception = "API删除请求异常") - @PostMapping("/del") - @ApiOperation(value = "API删除", notes = "API删除") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form") - }) - public Result del(@RequestParam String ids) { - return Result.condition(sysApiService.removeByIds(CollectionUtil.stringToCollection(ids))); - } + /** + * API管理删除 + * + * @param ids id字符串,根据,号分隔 + * @return Result + */ + @PreAuth + @Log(value = "API删除") + @PostMapping("/del") + @ApiOperation(value = "API删除") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form") + }) + public Result del(@RequestParam String ids) { + return Result.condition(sysApiService.removeByIds(CollectionUtil.stringToCollection(ids))); + } - /** - * API状态 - * - * @param ids 多个Id,用,号分隔 - * @param status 状态:启用、禁用 - * @return Result - */ - @PreAuth - @Log(value = "API状态", exception = "API状态请求异常") - @PostMapping("/set-status") - @ApiOperation(value = "API状态", notes = "状态包括:启用、禁用") - @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", required = true, value = "多个id用,号隔开", paramType = "form"), - @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form") - }) - public Result setStatus(@RequestParam String ids, @RequestParam String status) { - return Result.condition(sysApiService.status(ids, status)); - } + /** + * API状态 + * + * @param ids 多个Id,用,号分隔 + * @param status 状态:启用、禁用 + * @return Result + */ + @PreAuth + @Log(value = "API状态") + @PostMapping("/set-status") + @ApiOperation(value = "API状态") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", required = true, value = "多个id用,号隔开", paramType = "form"), + @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form") + }) + public Result setStatus(@RequestParam String ids, @RequestParam String status) { + return Result.condition(sysApiService.status(ids, status)); + } - /** - * 从redis同步api至数据库 - * - * @return Boolean - */ - @PreAuth - @PostMapping("/sync") - @ApiOperation(value = "API同步", notes = "API同步") - @Log(value = "API同步", exception = "API同步请求异常") - public Result sync() { - Set serviceIds = redisService.sGet(MateConstant.MATE_SERVICE_RESOURCE); - for (Object service : serviceIds) { - if (redisService.hHasKey(MateConstant.MATE_API_RESOURCE, service.toString())) { - Map apiMap = (Map) redisService.hget(MateConstant.MATE_API_RESOURCE, service.toString()); - List> list = (List>) apiMap.get("list"); - list.forEach(item -> { - SysApi sysApi = new SysApi(); - sysApi.setAuth(item.get("auth")); - sysApi.setClassName(item.get("className")); - sysApi.setCode(item.get("code")); - sysApi.setContentType(item.get("contentType")); - sysApi.setMethod(item.get("method")); - sysApi.setMethodName(item.get("methodName")); - sysApi.setName(item.get("name")); - sysApi.setNotes(item.get("notes")); - sysApi.setPath(item.get("path")); - sysApi.setServiceId(item.get("serviceId")); - SysApi exist = sysApiService.getByCode(sysApi.getCode()); - if (ObjectUtils.isEmpty(exist)) { - sysApiService.save(sysApi); - } else { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysApi::getCode, sysApi.getCode()); - sysApiService.update(sysApi, queryWrapper); - } - }); - } - redisService.hdel(MateConstant.MATE_API_RESOURCE, service.toString()); - } - redisService.del(MateConstant.MATE_SERVICE_RESOURCE); - return Result.condition(true); - } + /** + * 从redis同步api至数据库 + * + * @return Boolean + */ + @PreAuth + @PostMapping("/sync") + @ApiOperation(value = "API同步") + @Log(value = "API同步") + public Result sync() { + Set serviceIds = redisService.sGet(MateConstant.MATE_SERVICE_RESOURCE); + for (Object service : serviceIds) { + if (redisService.hHasKey(MateConstant.MATE_API_RESOURCE, service.toString())) { + Map apiMap = (Map) redisService.hget(MateConstant.MATE_API_RESOURCE, service.toString()); + List> list = (List>) apiMap.get("list"); + list.forEach(item -> { + SysApi sysApi = new SysApi(); + sysApi.setAuth(item.get("auth")); + sysApi.setClassName(item.get("className")); + sysApi.setCode(item.get("code")); + sysApi.setContentType(item.get("contentType")); + sysApi.setMethod(item.get("method")); + sysApi.setMethodName(item.get("methodName")); + sysApi.setName(item.get("name")); + sysApi.setNotes(item.get("notes")); + sysApi.setPath(item.get("path")); + sysApi.setServiceId(item.get("serviceId")); + SysApi exist = sysApiService.getByCode(sysApi.getCode()); + if (ObjectUtils.isEmpty(exist)) { + sysApiService.save(sysApi); + } else { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysApi::getCode, sysApi.getCode()); + sysApiService.update(sysApi, queryWrapper); + } + }); + } + redisService.hdel(MateConstant.MATE_API_RESOURCE, service.toString()); + } + redisService.del(MateConstant.MATE_SERVICE_RESOURCE); + return Result.condition(true); + } } diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java index 1c7ac093..0e31f458 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java @@ -72,6 +72,6 @@ public interface ISysMenuService extends IService { * @param menuId 菜单ID * @return parentId */ - int getMenuChild(Long menuId); + Long getMenuChild(Long menuId); } diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java index 4bc7256e..d8675df1 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java @@ -42,40 +42,40 @@ @Service public class SysApiServiceImpl extends ServiceImpl implements ISysApiService { - @Override - public IPage listPage(Page page, Search search, String serviceId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (StrUtil.isNotBlank(search.getStartDate())) { - queryWrapper.between(SysApi::getCreateTime, search.getStartDate(), search.getEndDate()); - } - if (StrUtil.isNotBlank(search.getKeyword())) { - queryWrapper.and(i -> i - .or().like(SysApi::getCode, search.getKeyword()) - .or().like(SysApi::getPath, search.getKeyword())); - } - if (!serviceId.equals("-1")) { - queryWrapper.eq(SysApi::getServiceId, serviceId); - } - queryWrapper.orderByDesc(SysApi::getId); - return this.baseMapper.selectPage(page, queryWrapper); - } + @Override + public IPage listPage(Page page, Search search, String serviceId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(search.getStartDate())) { + queryWrapper.between(SysApi::getCreateTime, search.getStartDate(), search.getEndDate()); + } + if (StrUtil.isNotBlank(search.getKeyword())) { + queryWrapper.and(i -> i + .or().like(SysApi::getCode, search.getKeyword()) + .or().like(SysApi::getPath, search.getKeyword())); + } + if (StrUtil.isNotBlank(serviceId)) { + queryWrapper.eq(SysApi::getServiceId, serviceId); + } + queryWrapper.orderByDesc(SysApi::getId); + return this.baseMapper.selectPage(page, queryWrapper); + } - @Override - public SysApi getByCode(String code) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysApi::getCode, code); - return this.baseMapper.selectOne(queryWrapper); - } + @Override + public SysApi getByCode(String code) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysApi::getCode, code); + return this.baseMapper.selectOne(queryWrapper); + } - @Override - public boolean status(String ids, String status) { - Collection collection = CollectionUtil.stringToCollection(ids); + @Override + public boolean status(String ids, String status) { + Collection collection = CollectionUtil.stringToCollection(ids); - for (Object id : collection) { - SysApi sysApi = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L)); - sysApi.setStatus(status); - this.baseMapper.updateById(sysApi); - } - return true; - } + for (Object id : collection) { + SysApi sysApi = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L)); + sysApi.setStatus(status); + this.baseMapper.updateById(sysApi); + } + return true; + } } diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java index 8c35a8b5..79e87d05 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java @@ -87,11 +87,11 @@ public List export() { @Override public boolean checkChild(Long id) { - return this.getMenuChild(id) > 0 ? Boolean.TRUE : Boolean.FALSE; + return this.getMenuChild(id) > 0L ? Boolean.TRUE : Boolean.FALSE; } @Override - public int getMenuChild(Long menuId) { + public Long getMenuChild(Long menuId) { return this.baseMapper.selectCount(Wrappers.lambdaQuery().select(SysMenu::getId).eq(SysMenu::getParentId, menuId)); } } diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java index 00738dab..0d57d8b3 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import vip.mate.core.database.entity.Search; @@ -42,6 +43,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Autowired private ISysRolePermissionService sysRolePermissionService; + @Lazy @Autowired private ISysUserService sysUserService; diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java index 8431d146..2b4a9572 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java @@ -40,8 +40,6 @@ @AllArgsConstructor public class SysUserServiceImpl extends ServiceImpl implements ISysUserService { - - private final ISysDepartService sysDepartService; private final ISysDictService dictService; private final ISysRoleService sysRoleService; diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java index 012b8215..bac10b8f 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java @@ -16,36 +16,37 @@ */ public class TreeUtil { - /** - * 对象转树节点 - * - * @param sysMenus 系统菜单 - * @return List - */ - public static List buildTree(List sysMenus) { - List trees = new ArrayList<>(); - sysMenus.forEach(sysMenu -> { - SysMenuVO tree = new SysMenuVO(); - BeanUtils.copyProperties(sysMenu, tree); - tree.setHidden("1".equals(sysMenu.getHidden())); - MenuMeta meta = new MenuMeta(); - meta.setIcon(sysMenu.getIcon()); - meta.setTitle(sysMenu.getName()); - if (sysMenu.getParentId() == -1L) { - tree.setComponent("Layout"); - tree.setRedirect("noRedirect"); - tree.setAlwaysShow(true); - } - tree.setMeta(meta); - if (MenuTypeEnum.DIR.getCode().equals(sysMenu.getType())) { - tree.setTypeName(MenuTypeEnum.DIR.getMessage()); - } else if (MenuTypeEnum.MENU.getCode().equals(sysMenu.getType())) { - tree.setTypeName(MenuTypeEnum.MENU.getMessage()); - } else if (MenuTypeEnum.BUTTON.getCode().equals(sysMenu.getType())) { - tree.setTypeName(MenuTypeEnum.BUTTON.getMessage()); - } - trees.add(tree); - }); - return trees; - } + /** + * 对象转树节点 + * + * @param sysMenus 系统菜单 + * @return List + */ + public static List buildTree(List sysMenus) { + List trees = new ArrayList<>(); + sysMenus.forEach(sysMenu -> { + SysMenuVO tree = new SysMenuVO(); + BeanUtils.copyProperties(sysMenu, tree); + tree.setHidden("1".equals(sysMenu.getHidden())); + MenuMeta meta = new MenuMeta(); + meta.setIcon(sysMenu.getIcon()); + meta.setTitle(sysMenu.getName()); + // 只有当菜单类型为目录的时候,如果是顶级,则强制修改为Layout + if (sysMenu.getParentId() == -1L && MenuTypeEnum.DIR.getCode().equals(sysMenu.getType())) { + tree.setComponent("Layout"); + tree.setRedirect("noRedirect"); + tree.setAlwaysShow(true); + } + tree.setMeta(meta); + if (MenuTypeEnum.DIR.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.DIR.getMessage()); + } else if (MenuTypeEnum.MENU.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.MENU.getMessage()); + } else if (MenuTypeEnum.BUTTON.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.BUTTON.getMessage()); + } + trees.add(tree); + }); + return trees; + } } diff --git a/mate-platform/mate-system/src/test/java/vip/mate/system/test/SysApiControllerTest.java b/mate-platform/mate-system/src/test/java/vip/mate/system/test/SysApiControllerTest.java new file mode 100644 index 00000000..cd2b5ea8 --- /dev/null +++ b/mate-platform/mate-system/src/test/java/vip/mate/system/test/SysApiControllerTest.java @@ -0,0 +1,26 @@ +package vip.mate.system.test; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import vip.mate.system.service.ISysApiService; + +/** + * 业务单元测试示例 + * + * @author matevip + */ +@Slf4j +@SpringBootTest +public class SysApiControllerTest { + + @Autowired + private ISysApiService sysApiService; + + @Test + void sync() { + log.info("获取api列表:{}", JSON.toJSONString(sysApiService.list())); + } +} diff --git a/mate-platform/pom.xml b/mate-platform/pom.xml index c48967d0..aca01f7c 100644 --- a/mate-platform/pom.xml +++ b/mate-platform/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-support/mate-admin/pom.xml b/mate-support/mate-admin/pom.xml index f70ca25e..1857fff1 100644 --- a/mate-support/mate-admin/pom.xml +++ b/mate-support/mate-admin/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-support/mate-code/pom.xml b/mate-support/mate-code/pom.xml index aeaff22d..cad056ef 100644 --- a/mate-support/mate-code/pom.xml +++ b/mate-support/mate-code/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-support/mate-code/src/main/java/vip/mate/code/entity/SysDataSource.java b/mate-support/mate-code/src/main/java/vip/mate/code/entity/SysDataSource.java index c7c4c157..175b8d06 100644 --- a/mate-support/mate-code/src/main/java/vip/mate/code/entity/SysDataSource.java +++ b/mate-support/mate-code/src/main/java/vip/mate/code/entity/SysDataSource.java @@ -1,16 +1,12 @@ package vip.mate.code.entity; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import vip.mate.core.database.entity.BaseEntity; -import java.time.LocalDateTime; - /** *

    * 数据源表 @@ -66,7 +62,7 @@ public class SysDataSource extends BaseEntity { * 状态 */ @ApiModelProperty(value = "状态") - private Boolean status; + private String status; } diff --git a/mate-support/mate-job-admin/pom.xml b/mate-support/mate-job-admin/pom.xml index e823968e..2f3d3049 100644 --- a/mate-support/mate-job-admin/pom.xml +++ b/mate-support/mate-job-admin/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-support/mate-job/pom.xml b/mate-support/mate-job/pom.xml index cbefb5b0..2a30c3bb 100644 --- a/mate-support/mate-job/pom.xml +++ b/mate-support/mate-job/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-support/pom.xml b/mate-support/pom.xml index bacb0d51..d657129a 100644 --- a/mate-support/pom.xml +++ b/mate-support/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/mate-uaa/pom.xml b/mate-uaa/pom.xml index 9f5eb626..3aca7116 100644 --- a/mate-uaa/pom.xml +++ b/mate-uaa/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 4.0.9 + 4.0.10 4.0.0 diff --git a/pom.xml b/pom.xml index 490ecae5..680ceb08 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ vip.mate matecloud pom - 4.0.9 + 4.0.10 matecloud MateCloud - 基于Spring Cloud Alibaba实现的微服务架构 @@ -24,7 +24,7 @@ - 4.0.9 + 4.0.10 1.8 3.8.1 UTF-8