diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index b87d69b9a586cd0f2e8a19573442b3d5ffd3a63f..082741b9465bf03bd7e41cdbbf9d7b965c85797b 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -22,6 +22,7 @@ jobs:
with:
java-version: ${{ matrix.java-version }}
distribution: 'zulu'
+ cache: maven
- name: mvn spring-javaformat:validate
run: mvn spring-javaformat:validate
diff --git a/README.md b/README.md
index 412e642cb226a2f6498fbd28a3cac59688426a30..eab12a5ad1460ea9a9fa9e82a452fe72e16f3a85 100644
--- a/README.md
+++ b/README.md
@@ -30,19 +30,29 @@

-
-
## 快速开始
+### 分支说明
+
+- master: java8 + springboot 2.7 + springcloud 2021
+- jdk17: java17 + springboot 3.0 + springcloud 2022
+
+| 分支 | 说明 |
+|-----------------|------------------------------------------------------------------|
+| master | java8 + springboot 2.7 + springcloud 2021 |
+| sca-springboot3 | java17 + springboot 3.0 + springcloud 2022 |
+| sct-springboot3 | java17 + springboot 3.0 + springcloud 2022 |
+
+
### 核心依赖
| 依赖 | 版本 |
| ---------------------- |------------|
-| Spring Boot | 2.7.6 |
+| Spring Boot | 2.7.7 |
| Spring Cloud | 2021.0.5 |
| Spring Cloud Alibaba | 2021.0.4.0 |
| Spring Authorization Server | 0.4.0 |
-| Mybatis Plus | 3.5.2 |
+| Mybatis Plus | 3.5.3.1 |
| hutool | 5.8.10 |
### 模块说明
diff --git a/db/pig_config.sql b/db/pig_config.sql
index ef21140649dc4759e6f2103b50131f767d583d8a..44137fdb2b1632604e4c2125a712fc06f516830a 100644
--- a/db/pig_config.sql
+++ b/db/pig_config.sql
@@ -37,12 +37,12 @@ CREATE TABLE `config_info` (
-- Records of config_info
-- ----------------------------
BEGIN;
-INSERT INTO `config_info` VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', '# 加解密根密码\njasypt:\n encryptor:\n password: pig #根密码\n \n# Spring 相关\nspring:\n cache:\n type: redis\n redis:\n host: pig-redis\n cloud:\n sentinel:\n eager: true\n transport:\n dashboard: pig-sentinel:5003\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \"*\" \n endpoint:\n health:\n show-details: ALWAYS\n\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n response:\n enabled: true\n\n# mybaits-plus配置\nmybatis-plus:\n mapper-locations: classpath:/mapper/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: auto\n table-underline: true\n logic-delete-value: 1\n logic-not-delete-value: 0\n configuration:\n map-underscore-to-camel-case: true\n\n# spring security 配置\nsecurity:\n oauth2:\n # 通用放行URL,服务个性化,请在对应配置文件覆盖\n ignore:\n urls:\n - /v3/api-docs\n - /actuator/**\n\n# swagger 配置\nswagger:\n enabled: true\n title: Pig Swagger API\n gateway: http://${GATEWAY_HOST:pig-gateway}:${GATEWAY-PORT:9999}\n token-url: ${swagger.gateway}/auth/oauth2/token\n scope: server\n services:\n pig-upms-biz: admin\n pig-codegen: gen', 'a9fec7814841cfa5db8db2e4e6bdbf50', '2022-05-08 12:10:37', '2022-08-07 14:40:17', 'nacos', '127.0.0.1', '', '', '', '', '', 'yaml', '', '');
+INSERT INTO `config_info` VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', '# 加解密根密码\njasypt:\n encryptor:\n password: pig #根密码\n \n# Spring 相关\nspring:\n cache:\n type: redis\n redis:\n host: pig-redis\n cloud:\n sentinel:\n eager: true\n transport:\n dashboard: pig-sentinel:5003\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \"*\" \n endpoint:\n health:\n show-details: ALWAYS\n\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n response:\n enabled: true\n\n# mybaits-plus配置\nmybatis-plus:\n mapper-locations: classpath:/mapper/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: auto\n table-underline: true\n logic-delete-value: 1\n logic-not-delete-value: 0\n configuration:\n map-underscore-to-camel-case: true\n\n# swagger 配置\nswagger:\n enabled: true\n title: Pig Swagger API\n gateway: http://${GATEWAY_HOST:pig-gateway}:${GATEWAY-PORT:9999}\n token-url: ${swagger.gateway}/auth/oauth2/token\n scope: server\n services:\n pig-upms-biz: admin\n pig-codegen: gen', 'ef637d9ffc033db98d10f628cfec967e', '2022-05-08 12:10:37', '2023-01-28 14:13:58', '', '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
INSERT INTO `config_info` VALUES (2, 'pig-auth-dev.yml', 'DEFAULT_GROUP', '# 数据源\nspring:\n freemarker:\n allow-request-override: false\n allow-session-override: false\n cache: true\n charset: UTF-8\n check-template-location: true\n content-type: text/html\n enabled: true\n expose-request-attributes: false\n expose-session-attributes: false\n expose-spring-macro-helpers: true\n prefer-file-system-access: true\n suffix: .ftl\n template-loader-path: classpath:/templates/', '74f53b71c7799aa754da75662378b93c', '2022-05-08 12:10:37', '2022-06-04 14:15:35', 'nacos', '127.0.0.1', '', '', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (3, 'pig-codegen-dev.yml', 'DEFAULT_GROUP', '## spring security 配置\nsecurity:\n oauth2:\n client:\n client-id: ENC(27v1agvAug87ANOVnbKdsw==)\n client-secret: ENC(VbnkopxrwgbFVKp+UxJ2pg==)\n scope: server\n\n# 数据源配置\nspring:\n datasource:\n type: com.zaxxer.hikari.HikariDataSource\n driver-class-name: com.mysql.cj.jdbc.Driver\n username: root\n password: root\n url: jdbc:mysql://pig-mysql:3306/pig_codegen?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true\n resources:\n static-locations: classpath:/static/,classpath:/views/\n', '02fe9e81c41986626067b8cbe589b77f', '2022-05-08 12:10:37', '2022-05-08 12:10:37', NULL, '127.0.0.1', '', '', NULL, NULL, NULL, 'yaml', NULL, '');
+INSERT INTO `config_info` VALUES (3, 'pig-codegen-dev.yml', 'DEFAULT_GROUP', '# 数据源配置\nspring:\n datasource:\n type: com.zaxxer.hikari.HikariDataSource\n driver-class-name: com.mysql.cj.jdbc.Driver\n username: root\n password: root\n url: jdbc:mysql://pig-mysql:3306/pig_codegen?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true\n resources:\n static-locations: classpath:/static/,classpath:/views/\n', 'cf786dbe3b07074fc187bf2eab3266b1', '2022-05-08 12:10:37', '2023-01-28 14:05:36', '', '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
INSERT INTO `config_info` VALUES (4, 'pig-gateway-dev.yml', 'DEFAULT_GROUP', 'spring:\n cloud:\n gateway:\n locator:\n enabled: true\n routes:\n # 认证中心\n - id: pig-auth\n uri: lb://pig-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - ValidateCodeGatewayFilter\n # 前端密码解密\n - PasswordDecoderFilter\n #UPMS 模块\n - id: pig-upms-biz\n uri: lb://pig-upms-biz\n predicates:\n - Path=/admin/**\n filters:\n # 限流配置\n - name: RequestRateLimiter\n args:\n key-resolver: \'#{@remoteAddrKeyResolver}\'\n redis-rate-limiter.replenishRate: 100\n redis-rate-limiter.burstCapacity: 200\n # 代码生成模块\n - id: pig-codegen\n uri: lb://pig-codegen\n predicates:\n - Path=/gen/**\n # 固定路由转发配置 无修改\n - id: openapi\n uri: lb://pig-gateway\n predicates:\n - Path=/v3/api-docs/**\n filters:\n - RewritePath=/v3/api-docs/(?.*), /$\\{path}/$\\{path}/v3/api-docs\n\ngateway:\n encode-key: \'thanks,pig4cloud\'\n ignore-clients:\n - test\n - client', '000988cf0102382d3f23df35027b47fd', '2022-05-08 12:10:37', '2022-06-07 14:00:11', 'nacos', '127.0.0.1', '', '', '', '', '', 'yaml', '', '');
INSERT INTO `config_info` VALUES (5, 'pig-monitor-dev.yml', 'DEFAULT_GROUP', 'spring:\n autoconfigure:\n exclude: com.pig4cloud.pig.common.core.config.JacksonConfiguration\n # 安全配置\n security:\n user:\n name: ENC(8Hk2ILNJM8UTOuW/Xi75qg==) # pig\n password: ENC(o6cuPFfUevmTbkmBnE67Ow====) # pig\n', '650bdfa15f60f3faa84dfe6e6878b8cf', '2022-05-08 12:10:37', '2022-05-08 12:10:37', NULL, '127.0.0.1', '', '', NULL, NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (6, 'pig-upms-biz-dev.yml', 'DEFAULT_GROUP', 'security:\n oauth2:\n client:\n client-id: ENC(imENTO7M8bLO38LFSIxnzw==)\n client-secret: ENC(i3cDFhs26sa2Ucrfz2hnQw==)\n scope: server\n\n# 数据源\nspring:\n datasource:\n type: com.zaxxer.hikari.HikariDataSource\n driver-class-name: com.mysql.cj.jdbc.Driver\n username: root\n password: root\n url: jdbc:mysql://pig-mysql:3306/pig?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true\n\n# 文件上传相关 支持阿里云、华为云、腾讯、minio\noss:\n endpoint: http://minio.pig4cloud.com\n accessKey: lengleng\n secretKey: lengleng\n bucket-name: tmp', '107614b40932e8237787b769e0937ed2', '2022-05-08 12:10:37', '2022-05-08 12:10:37', NULL, '127.0.0.1', '', '', NULL, NULL, NULL, 'yaml', NULL, '');
+INSERT INTO `config_info` VALUES (6, 'pig-upms-biz-dev.yml', 'DEFAULT_GROUP', '# 数据源\nspring:\n datasource:\n type: com.zaxxer.hikari.HikariDataSource\n driver-class-name: com.mysql.cj.jdbc.Driver\n username: root\n password: root\n url: jdbc:mysql://pig-mysql:3306/pig?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true\n\n# 文件上传相关 支持阿里云、华为云、腾讯、minio\noss:\n endpoint: http://minio.pig4cloud.com\n accessKey: lengleng\n secretKey: lengleng\n bucket-name: tmp', '899d2431d91da0d521378cc7fa61268d', '2022-05-08 12:10:37', '2023-01-28 14:01:46', '', '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
INSERT INTO `config_info` VALUES (7, 'pig-xxl-job-admin-dev.yml', 'DEFAULT_GROUP', '# xxl\nxxl:\n job:\n accessToken: default_token\n i18n: zh_CN\n logretentiondays: 30\n triggerpool:\n fast.max: 200\n slow.max: 200\n\n# mybatis\nmybatis:\n mapper-locations: classpath:/mybatis-mapper/*Mapper.xml\n\nspring:\n datasource:\n url: jdbc:mysql://${MYSQL_HOST:pig-mysql}:${MYSQL_PORT:3306}/${MYSQL_DB:pig_job}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true\n driver-class-name: com.mysql.cj.jdbc.Driver\n username: ${MYSQL_USER:root}\n password: ${MYSQL_PWD:root}\n mvc:\n static-path-pattern: /static/**\n freemarker:\n suffix: .ftl\n request-context-attribute: request\n settings:\n number_format: 0.##########\n mail:\n host: smtp.mxhichina.com\n port: 465\n from: xxxx@gitee.wang\n username: xxxx@gitee.wang\n password: xxxx\n properties:\n mail:\n smtp:\n auth: true\n ssl.enable: true\n starttls.enable: false\n required: false\n# spring boot admin 配置\n\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \'*\'\n endpoint:\n health:\n show-details: ALWAYS\n\n', 'b67cbbd37c8b42cdc6521780b3ed742a', '2022-11-27 17:23:42', '2022-11-27 17:28:01', 'nacos', '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
COMMIT;
diff --git a/docker-compose.yml b/docker-compose.yml
index be4193263a711c9f496c142fc9e4faa3f257b1e8..3380751d680e7175bec8baaefb9d19a69a152e0b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,13 +9,9 @@ services:
restart: always
container_name: pig-mysql
image: pig-mysql
- ports:
- - 3306:3306
pig-redis:
image: redis:7.0.0
- ports:
- - 6379:6379
restart: always
container_name: pig-redis
hostname: pig-redis
diff --git a/pig-auth/pom.xml b/pig-auth/pom.xml
index 1e5e2da47c9c7087d584f1b5064692ad4e8d1e1c..bb9dc812c55be3fab02addbed58518dc9b084e15 100755
--- a/pig-auth/pom.xml
+++ b/pig-auth/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-auth
diff --git a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationProvider.java b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationProvider.java
index f551f77b98f4e0074866e22825cb199ea5b1bd80..7df8b579bf106be43fbdeea3b3ddc38e31158b6f 100644
--- a/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationProvider.java
+++ b/pig-auth/src/main/java/com/pig4cloud/pig/auth/support/base/OAuth2ResourceOwnerBaseAuthenticationProvider.java
@@ -3,6 +3,7 @@ package com.pig4cloud.pig.auth.support.base;
import cn.hutool.extra.spring.SpringUtil;
import com.pig4cloud.pig.common.security.util.OAuth2ErrorCodesExpand;
import com.pig4cloud.pig.common.security.util.ScopeException;
+import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.context.support.MessageSourceAccessor;
@@ -35,6 +36,7 @@ import java.util.function.Supplier;
*
* 处理自定义授权
*/
+@Slf4j
public abstract class OAuth2ResourceOwnerBaseAuthenticationProvider
implements AuthenticationProvider {
@@ -263,7 +265,10 @@ public abstract class OAuth2ResourceOwnerBaseAuthenticationProvidercom.pig4cloud
pig-common-bom
- 3.6.4
+ 3.6.5
pom
pig-common-bom
@@ -15,7 +15,7 @@
${project.version}
- 2.7.6
+ 2.7.8
UTF-8
2.17.1
1.8
@@ -25,7 +25,7 @@
1.2.83
1.6.9
2.2.0
- 3.5.2
+ 3.5.3.1
8.0.31
1.5.2
1.2.6
diff --git a/pig-common/pig-common-core/pom.xml b/pig-common/pig-common-core/pom.xml
index d8457f55e26b730bc8843779c190d301708dc84a..16b84c5eda6155b8d53bc305fdb2124af5bf01f6 100755
--- a/pig-common/pig-common-core/pom.xml
+++ b/pig-common/pig-common-core/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-core
diff --git a/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java b/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
index ea59db5ace2177ab38fc7e57a6a8d23aeb580ec2..bc48065accd49516e13017e953169879b0f57932 100644
--- a/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
+++ b/pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
@@ -210,7 +210,7 @@ public class RetOps {
* @throws Ex 断言失败时抛出
*/
public RetOps assertDataNotEmpty(Function super R, ? extends Ex> func) throws Ex {
- if (ObjectUtil.isNotEmpty(original.getData())) {
+ if (ObjectUtil.isEmpty(original.getData())) {
throw func.apply(original);
}
return this;
diff --git a/pig-common/pig-common-datasource/pom.xml b/pig-common/pig-common-datasource/pom.xml
index 0af20a6ea1fc03a7a555d4224501e7e811b89969..ee227c821d42e088f59e9343c52c266cec3f0537 100644
--- a/pig-common/pig-common-datasource/pom.xml
+++ b/pig-common/pig-common-datasource/pom.xml
@@ -21,7 +21,7 @@
pig-common
com.pig4cloud
- 3.6.4
+ 3.6.5
4.0.0
diff --git a/pig-common/pig-common-feign/pom.xml b/pig-common/pig-common-feign/pom.xml
index 26451d25c0db32e4ffd3ef2f8711a11eab414022..8e13386941047a3e80d22d6447d83d1333aef76e 100755
--- a/pig-common/pig-common-feign/pom.xml
+++ b/pig-common/pig-common-feign/pom.xml
@@ -16,52 +16,57 @@
-->
-
- com.pig4cloud
- pig-common
- 3.6.4
-
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ com.pig4cloud
+ pig-common
+ 3.6.5
+
- 4.0.0
- jar
- pig-common-feign
- feign-sentinel服务降级熔断、限流组件
+ 4.0.0
+ jar
+ pig-common-feign
+ feign-sentinel服务降级熔断、限流组件
-
-
- com.pig4cloud
- pig-common-core
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-sentinel
-
-
-
- org.springframework.cloud
- spring-cloud-starter-openfeign
-
-
-
- io.github.openfeign
- feign-okhttp
-
-
-
- org.springframework.cloud
- spring-cloud-starter-loadbalancer
-
-
-
- com.github.ben-manes.caffeine
- caffeine
-
-
-
- org.springframework.security
- spring-security-core
-
-
+
+
+ com.pig4cloud
+ pig-common-core
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ io.github.openfeign
+ feign-okhttp
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+ com.github.ben-manes.caffeine
+ caffeine
+
+
+
+ org.springframework.security
+ spring-security-core
+
+
+
+ org.springframework.retry
+ spring-retry
+
+
diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/PigFeignAutoConfiguration.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/PigFeignAutoConfiguration.java
index 44de28367bf78d50833bde096de97c787f64a829..d550babcb1935c6fa087e0c14080fc422c58cc26 100755
--- a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/PigFeignAutoConfiguration.java
+++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/PigFeignAutoConfiguration.java
@@ -20,6 +20,7 @@ import com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfiguration;
import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.BlockExceptionHandler;
import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.pig4cloud.pig.common.feign.retry.FeignRetryAspect;
import com.pig4cloud.pig.common.feign.sentinel.ext.PigSentinelFeign;
import com.pig4cloud.pig.common.feign.sentinel.handle.PigUrlBlockHandler;
import com.pig4cloud.pig.common.feign.sentinel.parser.PigHeaderRequestOriginParser;
@@ -61,4 +62,9 @@ public class PigFeignAutoConfiguration {
return new PigHeaderRequestOriginParser();
}
+ @Bean
+ public FeignRetryAspect feignRetryAspect() {
+ return new FeignRetryAspect();
+ }
+
}
diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/Backoff.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/Backoff.java
new file mode 100644
index 0000000000000000000000000000000000000000..5efbdbce9eea95df0534ee007ec7778ab92e421b
--- /dev/null
+++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/Backoff.java
@@ -0,0 +1,21 @@
+package com.pig4cloud.pig.common.feign.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 重试具体的策略
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Backoff {
+
+ long delay() default 1000L;;
+
+ long maxDelay() default 0L;
+
+ double multiplier() default 0.0D;;
+
+}
diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/FeignRetry.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/FeignRetry.java
new file mode 100644
index 0000000000000000000000000000000000000000..846d09a3938a968ba6f5ad1a5522e8fad9f3544e
--- /dev/null
+++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/annotation/FeignRetry.java
@@ -0,0 +1,21 @@
+package com.pig4cloud.pig.common.feign.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 重试注解,作用在 @FeignClient 注解之上
+ */
+@Target({ ElementType.METHOD, ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface FeignRetry {
+
+ Backoff backoff() default @Backoff();
+
+ int maxAttempt() default 3;
+
+ Class extends Throwable>[] include() default {};
+
+}
diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/retry/FeignRetryAspect.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/retry/FeignRetryAspect.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1a33311fa098fc94315268b5e6a98685f541bb3
--- /dev/null
+++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/retry/FeignRetryAspect.java
@@ -0,0 +1,94 @@
+package com.pig4cloud.pig.common.feign.retry;
+
+import com.pig4cloud.pig.common.feign.annotation.FeignRetry;
+import feign.RetryableException;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.retry.backoff.BackOffPolicy;
+import org.springframework.retry.backoff.ExponentialBackOffPolicy;
+import org.springframework.retry.backoff.FixedBackOffPolicy;
+import org.springframework.retry.policy.SimpleRetryPolicy;
+import org.springframework.retry.support.RetryTemplate;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * FeignRetry 注解切面注入 retryTemplate
+ *
+ * @author lengleng
+ * @date 2023/1/21
+ * {@link org.springframework.cloud.loadbalancer.blocking.retry.BlockingLoadBalancedRetryPolicy}.
+ */
+@Slf4j
+@Aspect
+@Component
+public class FeignRetryAspect {
+
+ @Around("@annotation(feignRetry)")
+ public Object retry(ProceedingJoinPoint joinPoint, FeignRetry feignRetry) throws Throwable {
+ Method method = getCurrentMethod(joinPoint);
+
+ RetryTemplate retryTemplate = new RetryTemplate();
+ retryTemplate.setBackOffPolicy(prepareBackOffPolicy(feignRetry));
+ retryTemplate.setRetryPolicy(prepareSimpleRetryPolicy(feignRetry));
+
+ // 重试
+ return retryTemplate.execute(arg0 -> {
+ int retryCount = arg0.getRetryCount();
+ log.info("Sending request method: {}, max attempt: {}, delay: {}, retryCount: {}", method.getName(),
+ feignRetry.maxAttempt(), feignRetry.backoff().delay(), retryCount);
+ return joinPoint.proceed(joinPoint.getArgs());
+ });
+ }
+
+ /**
+ * 构造重试策略
+ * @param feignRetry 重试注解
+ * @return BackOffPolicy
+ */
+ private BackOffPolicy prepareBackOffPolicy(FeignRetry feignRetry) {
+ if (feignRetry.backoff().multiplier() != 0) {
+ ExponentialBackOffPolicy backOffPolicy = new ExponentialBackOffPolicy();
+ backOffPolicy.setInitialInterval(feignRetry.backoff().delay());
+ backOffPolicy.setMaxInterval(feignRetry.backoff().maxDelay());
+ backOffPolicy.setMultiplier(feignRetry.backoff().multiplier());
+ return backOffPolicy;
+ }
+ else {
+ FixedBackOffPolicy fixedBackOffPolicy = new FixedBackOffPolicy();
+ fixedBackOffPolicy.setBackOffPeriod(feignRetry.backoff().delay());
+ return fixedBackOffPolicy;
+ }
+ }
+
+ /**
+ * 构造重试策略
+ * @param feignRetry 重试注解
+ * @return SimpleRetryPolicy
+ */
+ private SimpleRetryPolicy prepareSimpleRetryPolicy(FeignRetry feignRetry) {
+ Map, Boolean> policyMap = new HashMap<>();
+ policyMap.put(RetryableException.class, true); // Connection refused or time out
+
+ if (feignRetry.include().length != 0) {
+ for (Class extends Throwable> t : feignRetry.include()) {
+ policyMap.put(t, true);
+ }
+ }
+
+ return new SimpleRetryPolicy(feignRetry.maxAttempt(), policyMap, true);
+ }
+
+ private Method getCurrentMethod(JoinPoint joinPoint) {
+ MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ return signature.getMethod();
+ }
+
+}
diff --git a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/ext/PigSentinelInvocationHandler.java b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/ext/PigSentinelInvocationHandler.java
index da0afb5be5ca8fb97b416c2f107ecd4afe397d9c..1c155d9f44e72ad74e5b4e49800c21de2666279b 100644
--- a/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/ext/PigSentinelInvocationHandler.java
+++ b/pig-common/pig-common-feign/src/main/java/com/pig4cloud/pig/common/feign/sentinel/ext/PigSentinelInvocationHandler.java
@@ -25,12 +25,14 @@ import com.alibaba.csp.sentinel.Tracer;
import com.alibaba.csp.sentinel.context.ContextUtil;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.pig4cloud.pig.common.core.util.R;
+import com.pig4cloud.pig.common.feign.annotation.FeignRetry;
import feign.Feign;
import feign.InvocationHandlerFactory;
import feign.MethodMetadata;
import feign.Target;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.core.annotation.AnnotationUtils;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
@@ -38,6 +40,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.Objects;
import static feign.Util.checkNotNull;
@@ -134,8 +137,9 @@ public class PigSentinelInvocationHandler implements InvocationHandler {
}
}
else {
- // 若是R类型 执行自动降级返回R
- if (R.class == method.getReturnType()) {
+ // 若是R类型 并且不包含@FeignRetry 执行自动降级返回R
+ FeignRetry feignRetry = AnnotationUtils.findAnnotation(method, FeignRetry.class);
+ if (R.class == method.getReturnType() && Objects.isNull(feignRetry)) {
log.error("feign 服务间调用异常", ex);
return R.failed(ex.getLocalizedMessage());
}
diff --git a/pig-common/pig-common-job/pom.xml b/pig-common/pig-common-job/pom.xml
index 1a12427d4b4395c3955038932bd9acc2f701a900..0ab97cbff857ef984b7c93764880a6c37c019893 100755
--- a/pig-common/pig-common-job/pom.xml
+++ b/pig-common/pig-common-job/pom.xml
@@ -23,7 +23,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-job
diff --git a/pig-common/pig-common-log/pom.xml b/pig-common/pig-common-log/pom.xml
index 83acf4c35bb9551b3adaf24b7cf40db93f52b3b4..aa1c20467bde4404819a22d10736bd9a72d14a22 100755
--- a/pig-common/pig-common-log/pom.xml
+++ b/pig-common/pig-common-log/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-log
diff --git a/pig-common/pig-common-mybatis/pom.xml b/pig-common/pig-common-mybatis/pom.xml
index 84c3a56f92980931a8187e4da4a6e0743b8276df..dd7d6b34bf9c52873183fe2d2eb5ca90214af4bb 100755
--- a/pig-common/pig-common-mybatis/pom.xml
+++ b/pig-common/pig-common-mybatis/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-mybatis
diff --git a/pig-common/pig-common-seata/pom.xml b/pig-common/pig-common-seata/pom.xml
index 6b80cb4ae6d8ec578448bea1e596425c856aa0f6..09a4597681cdf4f6f52460179b1383f45ab3e57a 100755
--- a/pig-common/pig-common-seata/pom.xml
+++ b/pig-common/pig-common-seata/pom.xml
@@ -23,7 +23,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-seata
diff --git a/pig-common/pig-common-security/pom.xml b/pig-common/pig-common-security/pom.xml
index 469aa634a797c258d6575b72f5e0b033bf4bc326..ee8f4faa13d4575eb4bcbc5e2d615339d7266674 100755
--- a/pig-common/pig-common-security/pom.xml
+++ b/pig-common/pig-common-security/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-security
diff --git a/pig-common/pig-common-swagger/pom.xml b/pig-common/pig-common-swagger/pom.xml
index 854dad1981850d04bf285ecc1bca0f6222826aa1..f585a4c36fe795afb418e6c0d229ceceeded7d7c 100644
--- a/pig-common/pig-common-swagger/pom.xml
+++ b/pig-common/pig-common-swagger/pom.xml
@@ -24,7 +24,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-swagger
diff --git a/pig-common/pig-common-xss/pom.xml b/pig-common/pig-common-xss/pom.xml
index 495cfe2b0d07adc277bafd4dd7a0e7eba46a070d..387742b96999412b10e00114ff41f07c417a151d 100755
--- a/pig-common/pig-common-xss/pom.xml
+++ b/pig-common/pig-common-xss/pom.xml
@@ -6,7 +6,7 @@
com.pig4cloud
pig-common
- 3.6.4
+ 3.6.5
pig-common-xss
diff --git a/pig-common/pom.xml b/pig-common/pom.xml
index 8c24c931cf5d05a9b4ef2a338edaf4ff1801c95a..60616c984bed5bb0b0776cbdd93dd832742fba0c 100755
--- a/pig-common/pom.xml
+++ b/pig-common/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-common
diff --git a/pig-gateway/pom.xml b/pig-gateway/pom.xml
index 7f625d7a15327f8b40d3fceb35154ea10574ca78..6ce35adfc9a4c3d8bf856a80612518e3ba8fba22 100755
--- a/pig-gateway/pom.xml
+++ b/pig-gateway/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-gateway
diff --git a/pig-gateway/src/main/resources/application.yml b/pig-gateway/src/main/resources/application.yml
index 4e9e8bdf6376fd4b8c9db00432e7a0719c8193ca..c694dc1bafdd2e6a4833e8d69ca7f55b3cdc6583 100755
--- a/pig-gateway/src/main/resources/application.yml
+++ b/pig-gateway/src/main/resources/application.yml
@@ -6,6 +6,8 @@ spring:
name: @artifactId@
cloud:
nacos:
+ username: @nacos.username@
+ password: @nacos.password@
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
config:
diff --git a/pig-register/pom.xml b/pig-register/pom.xml
index d5309be05a79bdcb18d4d4dbe23150b2e4a4b813..45e0284e917d750e72041ea4833616f9d40f401c 100755
--- a/pig-register/pom.xml
+++ b/pig-register/pom.xml
@@ -18,7 +18,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-register
diff --git a/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java b/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java
index 74397f974d5be3a44af256a2338071ad528f76b5..42abdf46c422ead88a1bccb292a883c72e60fd5b 100755
--- a/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java
+++ b/pig-register/src/main/java/com/alibaba/nacos/PigNacosApplication.java
@@ -43,7 +43,7 @@ public class PigNacosApplication {
*/
private static boolean initEnv() {
System.setProperty(ConfigConstants.STANDALONE_MODE, "true");
- System.setProperty(ConfigConstants.AUTH_ENABLED, "false");
+ System.setProperty(ConfigConstants.AUTH_ENABLED, "true");
System.setProperty(ConfigConstants.LOG_BASEDIR, "logs");
System.setProperty(ConfigConstants.LOG_ENABLED, "false");
return true;
diff --git a/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java b/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java
index 7a3ec617d640bcfedaec633ab16088c31cbe6f65..b5dbe6e89392b96595f9f5045dc04619a77c0102 100644
--- a/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java
+++ b/pig-register/src/main/java/com/alibaba/nacos/config/ConsoleConfig.java
@@ -16,6 +16,7 @@
package com.alibaba.nacos.config;
+import com.alibaba.nacos.console.filter.XssFilter;
import com.alibaba.nacos.core.code.ControllerMethodsCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
@@ -39,7 +40,7 @@ import java.time.ZoneId;
*/
@Component
@EnableScheduling
-@PropertySource("/application.properties")
+@PropertySource("/application.yml")
public class ConsoleConfig {
@Autowired
@@ -64,11 +65,17 @@ public class ConsoleConfig {
config.addAllowedHeader("*");
config.setMaxAge(18000L);
config.addAllowedMethod("*");
+ config.addAllowedOriginPattern("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
+ @Bean
+ public XssFilter xssFilter() {
+ return new XssFilter();
+ }
+
@Bean
public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(ZoneId.systemDefault().toString());
diff --git a/pig-register/src/main/java/com/alibaba/nacos/config/server/service/HistoryService.java b/pig-register/src/main/java/com/alibaba/nacos/config/server/service/HistoryService.java
new file mode 100644
index 0000000000000000000000000000000000000000..72a05665d637ec4664b03d736cc545f622b5eaa2
--- /dev/null
+++ b/pig-register/src/main/java/com/alibaba/nacos/config/server/service/HistoryService.java
@@ -0,0 +1,88 @@
+package com.alibaba.nacos.config.server.service;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.nacos.common.utils.Pair;
+import com.alibaba.nacos.config.server.model.ConfigHistoryInfo;
+import com.alibaba.nacos.config.server.model.ConfigInfoWrapper;
+import com.alibaba.nacos.config.server.model.Page;
+import com.alibaba.nacos.config.server.service.repository.ConfigInfoPersistService;
+import com.alibaba.nacos.config.server.service.repository.HistoryConfigInfoPersistService;
+import com.alibaba.nacos.plugin.auth.exception.AccessException;
+import com.alibaba.nacos.plugin.encryption.handler.EncryptionHandler;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author aeizzz
+ */
+@Service
+public class HistoryService {
+
+ private final HistoryConfigInfoPersistService historyConfigInfoPersistService;
+
+ private final ConfigInfoPersistService configInfoPersistService;
+
+ public HistoryService(HistoryConfigInfoPersistService historyConfigInfoPersistService,
+ ConfigInfoPersistService configInfoPersistService) {
+ this.historyConfigInfoPersistService = historyConfigInfoPersistService;
+ this.configInfoPersistService = configInfoPersistService;
+ }
+
+ public Page listConfigHistory(String dataId, String group, String namespaceId, Integer pageNo,
+ Integer pageSize) {
+ return this.historyConfigInfoPersistService.findConfigHistory(dataId, group, namespaceId, pageNo, pageSize);
+ }
+
+ public ConfigHistoryInfo getConfigHistoryInfo(String dataId, String group, String namespaceId, Long nid)
+ throws AccessException {
+ ConfigHistoryInfo configHistoryInfo = this.historyConfigInfoPersistService.detailConfigHistory(nid);
+ if (Objects.isNull(configHistoryInfo)) {
+ return null;
+ }
+ else {
+ this.checkHistoryInfoPermission(configHistoryInfo, dataId, group, namespaceId);
+ String encryptedDataKey = configHistoryInfo.getEncryptedDataKey();
+ Pair pair = EncryptionHandler.decryptHandler(dataId, encryptedDataKey,
+ configHistoryInfo.getContent());
+ configHistoryInfo.setContent((String) pair.getSecond());
+ return configHistoryInfo;
+ }
+ }
+
+ public ConfigHistoryInfo getPreviousConfigHistoryInfo(String dataId, String group, String namespaceId, Long id)
+ throws AccessException {
+ ConfigHistoryInfo configHistoryInfo = this.historyConfigInfoPersistService.detailPreviousConfigHistory(id);
+ if (Objects.isNull(configHistoryInfo)) {
+ return null;
+ }
+ else {
+ this.checkHistoryInfoPermission(configHistoryInfo, dataId, group, namespaceId);
+ return configHistoryInfo;
+ }
+ }
+
+ public List getConfigListByNamespace(String namespaceId) {
+ return this.configInfoPersistService.queryConfigInfoByNamespace(namespaceId);
+ }
+
+ /**
+ * 覆盖原有的校验方式,oracle 数据库没有空 字符串 只有 null
+ * @param configHistoryInfo
+ * @param dataId
+ * @param group
+ * @param namespaceId
+ * @throws AccessException
+ */
+ private void checkHistoryInfoPermission(ConfigHistoryInfo configHistoryInfo, String dataId, String group,
+ String namespaceId) throws AccessException {
+ if (!Objects.equals(configHistoryInfo.getDataId(), dataId)
+ || !Objects.equals(configHistoryInfo.getGroup(), group)
+ || (!StrUtil.isEmpty(configHistoryInfo.getTenant())
+ && !Objects.equals(configHistoryInfo.getTenant(), namespaceId))) {
+ throw new AccessException("Please check dataId, group or namespaceId.");
+ }
+ }
+
+}
diff --git a/pig-register/src/main/java/com/alibaba/nacos/config/server/service/package-info.java b/pig-register/src/main/java/com/alibaba/nacos/config/server/service/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3c747a1d663086d25cde4b3cf7852a8b82368ff
--- /dev/null
+++ b/pig-register/src/main/java/com/alibaba/nacos/config/server/service/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 处理再oracle数据库下空置的判断
+ */
+package com.alibaba.nacos.config.server.service;
diff --git a/pig-register/src/main/resources/application.yml b/pig-register/src/main/resources/application.yml
index 60681dab9e5b6017ad2218b2f663071b3c21b8d2..461e91785e900b839ae9815d6ce9890ae1352171 100755
--- a/pig-register/src/main/resources/application.yml
+++ b/pig-register/src/main/resources/application.yml
@@ -2,6 +2,8 @@ server:
port: 8848 #如何修改 pig-register 启动端口 >: https://t.cn/A6XGvTdb
tomcat:
basedir: logs
+ error:
+ include-message: always
db:
num: 1
@@ -14,12 +16,15 @@ db:
nacos:
core:
auth:
+ server:
+ identity:
+ key: serverIdentity
+ value: security
plugin.nacos.token.secret.key: SecretKey012345678901234567890123456789012345678901234567890123456789
- enabled: false
system.type: nacos
security:
ignore:
- urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
+ urls: /actuator/**,/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
spring:
datasource:
diff --git a/pig-upms/pig-upms-api/pom.xml b/pig-upms/pig-upms-api/pom.xml
index 03c66e106ded4f295e16a1854dc0a86d6bb88054..d924b07db88c665fdcfd9919998019d3e08685bd 100755
--- a/pig-upms/pig-upms-api/pom.xml
+++ b/pig-upms/pig-upms-api/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-upms
- 3.6.4
+ 3.6.5
pig-upms-api
@@ -43,8 +43,8 @@
- org.springframework.cloud
- spring-cloud-openfeign-core
+ com.pig4cloud
+ pig-common-feign
true
diff --git a/pig-upms/pig-upms-biz/pom.xml b/pig-upms/pig-upms-biz/pom.xml
index a3652ff2be98ce35a484cb7b9b39d82b199f0cf9..2aac59cc35e637f5cbe8bd4b20a40d0db54534c9 100644
--- a/pig-upms/pig-upms-biz/pom.xml
+++ b/pig-upms/pig-upms-biz/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-upms
- 3.6.4
+ 3.6.5
pig-upms-biz
diff --git a/pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysDictServiceImpl.java b/pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysDictServiceImpl.java
index 8934e827754157d6b3084a9051d9459ce92a670c..487ddb5f07aba420a0dca1b15214f84f3e109269 100755
--- a/pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysDictServiceImpl.java
+++ b/pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysDictServiceImpl.java
@@ -67,7 +67,7 @@ public class SysDictServiceImpl extends ServiceImpl impl
* @return
*/
@Override
- @CacheEvict(value = CacheConstants.DICT_DETAILS, key = "#dict.type")
+ @CacheEvict(value = CacheConstants.DICT_DETAILS, key = "#dict.dictKey")
public void updateDict(SysDict dict) {
SysDict sysDict = this.getById(dict.getId());
// 系统内置
diff --git a/pig-upms/pig-upms-biz/src/main/resources/application.yml b/pig-upms/pig-upms-biz/src/main/resources/application.yml
index 7528a4fa80fba135b7cd75a8ba3e966f1d83d09c..d3da88fc3a92307ec651d760574839fb2aecfdad 100644
--- a/pig-upms/pig-upms-biz/src/main/resources/application.yml
+++ b/pig-upms/pig-upms-biz/src/main/resources/application.yml
@@ -6,6 +6,8 @@ spring:
name: @artifactId@
cloud:
nacos:
+ username: @nacos.username@
+ password: @nacos.password@
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
config:
diff --git a/pig-upms/pom.xml b/pig-upms/pom.xml
index a5994580b570bb1bf709237068120017e9c2d207..1b9cd02eb1d35c9913bd07497de9d34fbb8ec598 100755
--- a/pig-upms/pom.xml
+++ b/pig-upms/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-upms
diff --git a/pig-visual/pig-codegen/pom.xml b/pig-visual/pig-codegen/pom.xml
index d5cadd48517d5efd637a6671357cba5657611d5f..aa65394127e063c13910f8f547bf65302e1c6658 100755
--- a/pig-visual/pig-codegen/pom.xml
+++ b/pig-visual/pig-codegen/pom.xml
@@ -22,7 +22,7 @@
com.pig4cloud
pig-visual
- 3.6.4
+ 3.6.5
pig-codegen
diff --git a/pig-visual/pig-codegen/src/main/resources/application.yml b/pig-visual/pig-codegen/src/main/resources/application.yml
index 3a87b84885733cb1e37dc5c94db769a8e2cff6de..a21122e311ac9c2fbefa2bc2ad48136e5e35b812 100644
--- a/pig-visual/pig-codegen/src/main/resources/application.yml
+++ b/pig-visual/pig-codegen/src/main/resources/application.yml
@@ -6,6 +6,8 @@ spring:
name: @artifactId@
cloud:
nacos:
+ username: @nacos.username@
+ password: @nacos.password@
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
config:
diff --git a/pig-visual/pig-monitor/pom.xml b/pig-visual/pig-monitor/pom.xml
index e643f3cf14f99ecd755f2538b1ed49c234d0ecb4..4145a511db9617029673803c21d38ed5cb2d5acc 100755
--- a/pig-visual/pig-monitor/pom.xml
+++ b/pig-visual/pig-monitor/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig-visual
- 3.6.4
+ 3.6.5
pig-monitor
diff --git a/pig-visual/pig-monitor/src/main/resources/application.yml b/pig-visual/pig-monitor/src/main/resources/application.yml
index 2ce78424eb85462b1544fb092ff1798f72b62ccb..928dcb819db6292ae90e6245d8034f59cfd8466f 100755
--- a/pig-visual/pig-monitor/src/main/resources/application.yml
+++ b/pig-visual/pig-monitor/src/main/resources/application.yml
@@ -6,6 +6,8 @@ spring:
name: @artifactId@
cloud:
nacos:
+ username: @nacos.username@
+ password: @nacos.password@
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
config:
diff --git a/pig-visual/pig-sentinel-dashboard/pom.xml b/pig-visual/pig-sentinel-dashboard/pom.xml
index 86f4321d097e7009abe519cfa41bca44c444ccba..0840d1616760c4a611eaaeb89ecb9d4d22e9b71e 100755
--- a/pig-visual/pig-sentinel-dashboard/pom.xml
+++ b/pig-visual/pig-sentinel-dashboard/pom.xml
@@ -6,7 +6,7 @@
com.pig4cloud
pig-visual
- 3.6.4
+ 3.6.5
pig-sentinel-dashboard
diff --git a/pig-visual/pig-sentinel-dashboard/src/main/resources/application.yml b/pig-visual/pig-sentinel-dashboard/src/main/resources/application.yml
index f70cb932358fae68bcbc36b2ab0946d5e8feffa5..076b0d2a849226c694f1ffcc76b8c79403ec3cda 100755
--- a/pig-visual/pig-sentinel-dashboard/src/main/resources/application.yml
+++ b/pig-visual/pig-sentinel-dashboard/src/main/resources/application.yml
@@ -11,7 +11,8 @@ spring:
nacos:
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
-
+ username: nacos
+ password: nacos
management:
endpoints:
web:
diff --git a/pig-visual/pig-xxl-job-admin/pom.xml b/pig-visual/pig-xxl-job-admin/pom.xml
index 098b2cdaa043ec2adff906a12e51cadd321678e6..b3553c3e0fba1e0d9c63dcde52d1afbaa1c4c496 100644
--- a/pig-visual/pig-xxl-job-admin/pom.xml
+++ b/pig-visual/pig-xxl-job-admin/pom.xml
@@ -4,7 +4,7 @@
com.pig4cloud
pig-visual
- 3.6.4
+ 3.6.5
pig-xxl-job-admin
diff --git a/pig-visual/pig-xxl-job-admin/src/main/resources/application.yml b/pig-visual/pig-xxl-job-admin/src/main/resources/application.yml
index 20eccf92a897834573f0d81f8c0fe6f2fbff7367..1de0564052a8dd108d0ae2f07fa83417cc0266ba 100644
--- a/pig-visual/pig-xxl-job-admin/src/main/resources/application.yml
+++ b/pig-visual/pig-xxl-job-admin/src/main/resources/application.yml
@@ -12,6 +12,8 @@ spring:
name: @artifactId@
cloud:
nacos:
+ username: @nacos.username@
+ password: @nacos.password@
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
metadata:
diff --git a/pig-visual/pom.xml b/pig-visual/pom.xml
index 7366fa283977820fd9cbc8dc7731c7b8d8278bfd..92ae2b616dbcd06991659261079837a1bfcf4e1f 100755
--- a/pig-visual/pom.xml
+++ b/pig-visual/pom.xml
@@ -21,7 +21,7 @@
com.pig4cloud
pig
- 3.6.4
+ 3.6.5
pig-visual
diff --git a/pom.xml b/pom.xml
index 2ed3732272416d541c24675c5a2fe67a6848259d..5b5a6293338eb79ea1ef66d7e0848a20e598d93d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -22,12 +22,12 @@
com.pig4cloud
pig
${project.artifactId}
- 3.6.4
+ 3.6.5
pom
https://www.pig4cloud.com
- 2.7.6
+ 2.7.8
2021.0.5
2021.0.4.0
UTF-8
@@ -51,7 +51,7 @@
username
password
4.9.9
- 0.0.34
+ 0.0.35
@@ -249,6 +249,8 @@
dev
+ nacos
+ nacos