diff --git a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
index 3b16bd9..e72d661 100644
--- a/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
+++ b/bin/nacos/nacos-server-2.3.0/data/tenant-config-data/deploy-ease-dev/common/common.yml
@@ -30,7 +30,11 @@ spring:
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
-
+ cloud:
+ config:
+ override-none: true
+ allow-override: true
+ override-system-properties: false
management:
endpoints:
web:
diff --git a/deploy-ease-basic/pom.xml b/deploy-ease-basic/pom.xml
index fd05fb2..6b60ec6 100644
--- a/deploy-ease-basic/pom.xml
+++ b/deploy-ease-basic/pom.xml
@@ -40,6 +40,14 @@
org.apache.commons
commons-lang3
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.apache.commons
+ commons-pool2
+
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalTenantInterceptor.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalTenantInterceptor.java
index d112957..f45e1a2 100644
--- a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalTenantInterceptor.java
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalTenantInterceptor.java
@@ -4,6 +4,7 @@ import com.qc.soft.framework.basic.context.TenantContext;
import com.qc.soft.framework.basic.enums.IBasicState;
import com.qc.soft.framework.basic.exception.BasicException;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@@ -15,7 +16,7 @@ import javax.servlet.http.HttpServletResponse;
@Slf4j
-@Component
+@Configuration
@Import({GlobalResponseHandler.class, GlobalExceptionHandler.class})
public class GlobalTenantInterceptor implements HandlerInterceptor {
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalWebConfigurer.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalWebConfigurer.java
index 0dad3ca..6752288 100644
--- a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalWebConfigurer.java
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/config/GlobalWebConfigurer.java
@@ -1,5 +1,6 @@
package com.qc.soft.framework.basic.config;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@@ -17,7 +18,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
+import java.time.ZoneId;
import java.util.List;
+import java.util.TimeZone;
@Configuration
@Slf4j
@@ -36,8 +39,11 @@ public class GlobalWebConfigurer implements WebMvcConfigurer {
public void configureMessageConverters(List> converters) {
converters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
ObjectMapper mapper = new ObjectMapper();
+ mapper.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
+ mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.registerModule(new JavaTimeModule());
+ mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
converters.add(new MappingJackson2HttpMessageConverter(mapper));
}
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/ApplicationContextProvider.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/ApplicationContextProvider.java
new file mode 100644
index 0000000..1e0f200
--- /dev/null
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/ApplicationContextProvider.java
@@ -0,0 +1,22 @@
+package com.qc.soft.framework.basic.context;
+
+import org.springframework.context.ApplicationContext;
+
+public class ApplicationContextProvider {
+
+
+ private static ApplicationContext context;
+
+ public static void setApplicationContext(ApplicationContext applicationContext) {
+ context = applicationContext;
+ }
+
+ public static ApplicationContext getApplicationContext() {
+ return context;
+ }
+
+ public static T getBean(Class beanClass) {
+ return context.getBean(beanClass);
+ }
+
+}
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/SpringContext.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/SpringContext.java
new file mode 100644
index 0000000..6c68336
--- /dev/null
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/context/SpringContext.java
@@ -0,0 +1,35 @@
+package com.qc.soft.framework.basic.context;
+
+import lombok.NonNull;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeansException;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConditionalOnClass(ApplicationContext.class)
+@Slf4j
+public class SpringContext implements ApplicationContextAware {
+
+ private ApplicationContext applicationContext;
+
+ public SpringContext() {
+ log.info("Spring application context registered successfully!!!");
+ }
+
+ @Override
+ public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException {
+ this.applicationContext = applicationContext;
+ ApplicationContextProvider.setApplicationContext(applicationContext);
+ }
+
+ public ApplicationContext getContext() {
+ return applicationContext;
+ }
+
+ public T getBean(Class clazz) {
+ return applicationContext.getBean(clazz);
+ }
+}
diff --git a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/exception/BusinessException.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/exception/BusinessException.java
similarity index 93%
rename from deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/exception/BusinessException.java
rename to deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/exception/BusinessException.java
index 37916b5..fc3f42a 100644
--- a/deploy-ease-core/src/main/java/com/qc/soft/deploy/ease/exception/BusinessException.java
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/exception/BusinessException.java
@@ -1,4 +1,4 @@
-package com.qc.soft.deploy.ease.exception;
+package com.qc.soft.framework.basic.exception;
import com.qc.soft.framework.basic.entity.BasicResponseState;
import com.qc.soft.framework.basic.exception.BasicException;
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/http/HttpAutoConfiguration.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/http/HttpAutoConfiguration.java
new file mode 100644
index 0000000..cc93291
--- /dev/null
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/http/HttpAutoConfiguration.java
@@ -0,0 +1,20 @@
+package com.qc.soft.framework.basic.http;
+
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class HttpAutoConfiguration {
+
+
+ @Bean
+ public RestTemplate restTemplate() {
+ RestTemplate restTemplate = new RestTemplate();
+ restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
+ return restTemplate;
+ }
+
+}
diff --git a/deploy-ease-basic/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/http/HttpClient.java
similarity index 100%
rename from deploy-ease-basic/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
rename to deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/http/HttpClient.java
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/FastJson2JsonRedisSerializer.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/FastJson2JsonRedisSerializer.java
new file mode 100644
index 0000000..bea0a9a
--- /dev/null
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/FastJson2JsonRedisSerializer.java
@@ -0,0 +1,40 @@
+package com.qc.soft.framework.basic.redis;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONReader;
+import com.alibaba.fastjson2.JSONWriter;
+import com.alibaba.fastjson2.filter.Filter;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
+
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Redis使用FastJson序列化
+ */
+public class FastJson2JsonRedisSerializer implements RedisSerializer {
+ public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
+
+ static final Filter AUTO_TYPE_FILTER = JSONReader.autoTypeFilter("com");
+
+ @Override
+ public byte[] serialize(T t) throws SerializationException {
+ if (t == null) {
+ return new byte[0];
+ }
+ return JSON.toJSONString(t, JSONWriter.Feature.WriteClassName).getBytes(DEFAULT_CHARSET);
+ }
+
+ @Override
+ public T deserialize(byte[] bytes) throws SerializationException {
+ if (bytes == null || bytes.length <= 0) {
+ return null;
+ }
+ String str = new String(bytes, DEFAULT_CHARSET);
+
+ return (T) JSON.parseObject(str, Object.class, AUTO_TYPE_FILTER);
+ }
+
+}
+
diff --git a/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java
new file mode 100644
index 0000000..5c63752
--- /dev/null
+++ b/deploy-ease-basic/src/main/java/com/qc/soft/framework/basic/redis/RedisAutoConfiguration.java
@@ -0,0 +1,35 @@
+package com.qc.soft.framework.basic.redis;
+
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+@ConditionalOnProperty(name = "spring.redis.host", havingValue = "true")
+@Slf4j
+public class RedisAutoConfiguration {
+
+ public RedisAutoConfiguration() {
+ log.info("Framework redis template registered successfully!!!");
+ }
+
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
+ RedisTemplate template = new RedisTemplate<>();
+ template.setConnectionFactory(redisConnectionFactory);
+ FastJson2JsonRedisSerializer