From 901691aaeab093a8521f89c9943723625e9699fe Mon Sep 17 00:00:00 2001
From: Jerry Yan <792602257@qq.com>
Date: Thu, 28 Nov 2024 15:10:09 +0800
Subject: [PATCH] Init
---
.gitignore | 3 +
.idea/.gitignore | 8 +
.idea/compiler.xml | 19 ++
.idea/encodings.xml | 6 +
.idea/jarRepositories.xml | 25 ++
.idea/misc.xml | 12 +
.idea/vcs.xml | 6 +
README.md | 0
pom.xml | 215 ++++++++++++++++++
src/main/java/com/ycwl/basic/Application.java | 15 ++
.../ycwl/basic/annotation/IgnoreToken.java | 21 ++
.../aspectj/RequestParameterAspectj.java | 69 ++++++
.../basic/config/CustomRedisCacheManager.java | 56 +++++
.../com/ycwl/basic/config/FilterConfig.java | 22 ++
.../basic/config/MybatisPlusPageConfig.java | 32 +++
.../ycwl/basic/config/PageHelperConfig.java | 26 +++
.../com/ycwl/basic/config/RedisConfig.java | 50 ++++
.../com/ycwl/basic/config/RedissonConfig.java | 31 +++
.../com/ycwl/basic/config/SwaggerConfig.java | 72 ++++++
.../com/ycwl/basic/config/WebMvcConfig.java | 118 ++++++++++
.../basic/constant/BaseContextHandler.java | 113 +++++++++
.../constant/CommonReturnMessageConstant.java | 15 ++
.../ConsumeIsBindApplicationSiteConstant.java | 21 ++
.../basic/constant/PermissionConstant.java | 6 +
.../ycwl/basic/constant/RequestConstant.java | 5 +
.../ShareParkingSpaceRedisKeyConstant.java | 18 ++
.../controller/pc/AdminUserController.java | 89 ++++++++
.../basic/controller/pc/RoleController.java | 67 ++++++
.../ycwl/basic/enums/AppStatesCodeEnum.java | 36 +++
.../com/ycwl/basic/enums/BizCodeEnum.java | 41 ++++
.../ycwl/basic/exception/AppException.java | 27 +++
.../ycwl/basic/exception/BaseException.java | 38 ++++
.../ycwl/basic/exception/BizException.java | 27 +++
.../basic/exception/CheckTokenException.java | 13 ++
.../exception/CustomExceptionHandle.java | 88 +++++++
.../basic/exception/MissTokenException.java | 13 ++
.../basic/exception/PermissionException.java | 11 +
.../basic/exception/RoleStatusException.java | 11 +
.../basic/exception/TokenExpireException.java | 14 ++
.../java/com/ycwl/basic/filter/XssFilter.java | 33 +++
.../basic/interceptor/AuthInterceptor.java | 184 +++++++++++++++
.../ycwl/basic/mapper/pc/AdminUserMapper.java | 28 +++
.../com/ycwl/basic/mapper/pc/MenuMapper.java | 15 ++
.../com/ycwl/basic/mapper/pc/RoleMapper.java | 24 ++
.../model/common/BaseQueryParameterReq.java | 19 ++
.../com/ycwl/basic/model/jwt/JwtInfo.java | 55 +++++
.../pc/adminUser/entity/GetTokenReqVO.java | 9 +
.../pc/adminUser/entity/LoginEntity.java | 13 ++
.../req/AddOrUpdateAdminUserReqVO.java | 19 ++
.../pc/adminUser/req/AdminUserListReqVO.java | 23 ++
.../model/pc/adminUser/req/LoginReqVO.java | 14 ++
.../pc/adminUser/req/ResetPasswordReqVO.java | 14 ++
.../pc/adminUser/req/UpdatePasswordReqVO.java | 16 ++
.../adminUser/resp/AdminUserListRespVO.java | 28 +++
.../model/pc/adminUser/resp/LoginRespVO.java | 22 ++
.../adminUser/resp/StaffSimpleInfoRespVO.java | 16 ++
.../ycwl/basic/model/pc/menu/MenuNode.java | 35 +++
.../pc/role/req/AddOrUpdateRoleReqVO.java | 19 ++
.../model/pc/role/req/RoleListReqVO.java | 15 ++
.../model/pc/role/resp/RoleListRespVO.java | 20 ++
.../ycwl/basic/model/snowFlake/UniqueId.java | 49 ++++
.../model/snowFlake/UniqueIdMetaData.java | 85 +++++++
.../service/impl/pc/AdminUserServiceImpl.java | 157 +++++++++++++
.../service/impl/pc/RoleServiceImpl.java | 131 +++++++++++
.../basic/service/pc/AdminUserService.java | 14 ++
.../basic/service/pc/MerchantService.java | 4 +
.../ycwl/basic/service/pc/RoleService.java | 15 ++
.../task/GetSpaceChinaMobileLiveSteamJob.java | 176 ++++++++++++++
.../java/com/ycwl/basic/utils/ApiConst.java | 108 +++++++++
.../com/ycwl/basic/utils/ApiResponse.java | 193 ++++++++++++++++
.../com/ycwl/basic/utils/BeanCopierUtils.java | 44 ++++
.../com/ycwl/basic/utils/CodeGenerator.java | 137 +++++++++++
.../java/com/ycwl/basic/utils/CommonUtil.java | 186 +++++++++++++++
.../basic/utils/CustomBigDecimalUtils.java | 202 ++++++++++++++++
.../com/ycwl/basic/utils/JwtAnalysisUtil.java | 82 +++++++
.../com/ycwl/basic/utils/JwtTokenUtil.java | 114 ++++++++++
.../ycwl/basic/utils/ObjectConvertUtils.java | 180 +++++++++++++++
.../basic/utils/RedisCacheOperationUtils.java | 77 +++++++
.../java/com/ycwl/basic/utils/RsaKeyUtil.java | 79 +++++++
.../com/ycwl/basic/utils/SnowFlakeUtil.java | 138 +++++++++++
.../java/com/ycwl/basic/utils/StringUtil.java | 11 +
.../xss/XSSHttpServletRequestWrapper.java | 200 ++++++++++++++++
.../basic/xss/XssJacksonDeserializer.java | 17 ++
.../ycwl/basic/xss/XssJacksonSerializer.java | 18 ++
src/main/resources/application.yml | 62 +++++
src/main/resources/logback-spring.xml | 133 +++++++++++
.../resources/mapper/pc/AdminUserMapper.xml | 103 +++++++++
src/main/resources/mapper/pc/MenuMapper.xml | 31 +++
src/main/resources/mapper/pc/RoleMapper.xml | 80 +++++++
.../com/ycwl/basic/BasicApplicationTests.java | 13 ++
90 files changed, 4919 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
create mode 100644 README.md
create mode 100644 pom.xml
create mode 100644 src/main/java/com/ycwl/basic/Application.java
create mode 100644 src/main/java/com/ycwl/basic/annotation/IgnoreToken.java
create mode 100644 src/main/java/com/ycwl/basic/aspectj/RequestParameterAspectj.java
create mode 100644 src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java
create mode 100644 src/main/java/com/ycwl/basic/config/FilterConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/MybatisPlusPageConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/PageHelperConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/RedisConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/RedissonConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/SwaggerConfig.java
create mode 100644 src/main/java/com/ycwl/basic/config/WebMvcConfig.java
create mode 100644 src/main/java/com/ycwl/basic/constant/BaseContextHandler.java
create mode 100644 src/main/java/com/ycwl/basic/constant/CommonReturnMessageConstant.java
create mode 100644 src/main/java/com/ycwl/basic/constant/ConsumeIsBindApplicationSiteConstant.java
create mode 100644 src/main/java/com/ycwl/basic/constant/PermissionConstant.java
create mode 100644 src/main/java/com/ycwl/basic/constant/RequestConstant.java
create mode 100644 src/main/java/com/ycwl/basic/constant/ShareParkingSpaceRedisKeyConstant.java
create mode 100644 src/main/java/com/ycwl/basic/controller/pc/AdminUserController.java
create mode 100644 src/main/java/com/ycwl/basic/controller/pc/RoleController.java
create mode 100644 src/main/java/com/ycwl/basic/enums/AppStatesCodeEnum.java
create mode 100644 src/main/java/com/ycwl/basic/enums/BizCodeEnum.java
create mode 100644 src/main/java/com/ycwl/basic/exception/AppException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/BaseException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/BizException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/CheckTokenException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/CustomExceptionHandle.java
create mode 100644 src/main/java/com/ycwl/basic/exception/MissTokenException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/PermissionException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/RoleStatusException.java
create mode 100644 src/main/java/com/ycwl/basic/exception/TokenExpireException.java
create mode 100644 src/main/java/com/ycwl/basic/filter/XssFilter.java
create mode 100644 src/main/java/com/ycwl/basic/interceptor/AuthInterceptor.java
create mode 100644 src/main/java/com/ycwl/basic/mapper/pc/AdminUserMapper.java
create mode 100644 src/main/java/com/ycwl/basic/mapper/pc/MenuMapper.java
create mode 100644 src/main/java/com/ycwl/basic/mapper/pc/RoleMapper.java
create mode 100644 src/main/java/com/ycwl/basic/model/common/BaseQueryParameterReq.java
create mode 100644 src/main/java/com/ycwl/basic/model/jwt/JwtInfo.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/entity/GetTokenReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/entity/LoginEntity.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/req/AddOrUpdateAdminUserReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/req/AdminUserListReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/req/LoginReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/req/ResetPasswordReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/req/UpdatePasswordReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/resp/AdminUserListRespVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/resp/LoginRespVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/adminUser/resp/StaffSimpleInfoRespVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/menu/MenuNode.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/role/req/AddOrUpdateRoleReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/role/req/RoleListReqVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/pc/role/resp/RoleListRespVO.java
create mode 100644 src/main/java/com/ycwl/basic/model/snowFlake/UniqueId.java
create mode 100644 src/main/java/com/ycwl/basic/model/snowFlake/UniqueIdMetaData.java
create mode 100644 src/main/java/com/ycwl/basic/service/impl/pc/AdminUserServiceImpl.java
create mode 100644 src/main/java/com/ycwl/basic/service/impl/pc/RoleServiceImpl.java
create mode 100644 src/main/java/com/ycwl/basic/service/pc/AdminUserService.java
create mode 100644 src/main/java/com/ycwl/basic/service/pc/MerchantService.java
create mode 100644 src/main/java/com/ycwl/basic/service/pc/RoleService.java
create mode 100644 src/main/java/com/ycwl/basic/task/GetSpaceChinaMobileLiveSteamJob.java
create mode 100644 src/main/java/com/ycwl/basic/utils/ApiConst.java
create mode 100644 src/main/java/com/ycwl/basic/utils/ApiResponse.java
create mode 100644 src/main/java/com/ycwl/basic/utils/BeanCopierUtils.java
create mode 100644 src/main/java/com/ycwl/basic/utils/CodeGenerator.java
create mode 100644 src/main/java/com/ycwl/basic/utils/CommonUtil.java
create mode 100644 src/main/java/com/ycwl/basic/utils/CustomBigDecimalUtils.java
create mode 100644 src/main/java/com/ycwl/basic/utils/JwtAnalysisUtil.java
create mode 100644 src/main/java/com/ycwl/basic/utils/JwtTokenUtil.java
create mode 100644 src/main/java/com/ycwl/basic/utils/ObjectConvertUtils.java
create mode 100644 src/main/java/com/ycwl/basic/utils/RedisCacheOperationUtils.java
create mode 100644 src/main/java/com/ycwl/basic/utils/RsaKeyUtil.java
create mode 100644 src/main/java/com/ycwl/basic/utils/SnowFlakeUtil.java
create mode 100644 src/main/java/com/ycwl/basic/utils/StringUtil.java
create mode 100644 src/main/java/com/ycwl/basic/xss/XSSHttpServletRequestWrapper.java
create mode 100644 src/main/java/com/ycwl/basic/xss/XssJacksonDeserializer.java
create mode 100644 src/main/java/com/ycwl/basic/xss/XssJacksonSerializer.java
create mode 100644 src/main/resources/application.yml
create mode 100644 src/main/resources/logback-spring.xml
create mode 100644 src/main/resources/mapper/pc/AdminUserMapper.xml
create mode 100644 src/main/resources/mapper/pc/MenuMapper.xml
create mode 100644 src/main/resources/mapper/pc/RoleMapper.xml
create mode 100644 src/test/java/com/ycwl/basic/BasicApplicationTests.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5b8c69d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea/
+logs/
+target/
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..d139e29
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..d83aa6e
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..d5cd614
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..2371ef3
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,215 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.12.RELEASE
+
+
+ com.ycwl
+ basic
+ 0.0.1-SNAPSHOT
+ liuying
+ 流影
+
+
+
+ 8
+ 8
+ 8
+ 3.4.0
+ 5.6.0
+ 1.2.76
+ 2.0.7
+ 5.1.10
+
+ true
+
+
+ 2.17.0
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ io.lettuce
+ lettuce-core
+
+
+
+
+
+ redis.clients
+ jedis
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatisplus.boot.starter.version}
+
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+ cn.hutool
+ hutool-all
+ ${hutool-all.version}
+
+
+
+ com.google.zxing
+ core
+ 3.3.3
+
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+
+ com.github.xiaoymin
+ knife4j-spring-boot-starter
+ ${knife4j-spring-boot-starter.version}
+
+
+
+
+ com.github.pagehelper
+ pagehelper
+ ${pagehelper.version}
+
+
+ org.mybatis
+ mybatis
+
+
+ org.mybatis
+ mybatis-spring
+
+
+
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.0
+
+
+ org.apache.commons
+ commons-text
+ 1.1
+
+
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+
+ com.aliyun
+ alibaba-dingtalk-service-sdk
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.redisson
+ redisson
+ 3.14.1
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+
+
diff --git a/src/main/java/com/ycwl/basic/Application.java b/src/main/java/com/ycwl/basic/Application.java
new file mode 100644
index 0000000..dc94933
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/Application.java
@@ -0,0 +1,15 @@
+package com.ycwl.basic;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan(basePackages = "com.ycwl.basic.mapper")
+public class Application {
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+
+}
diff --git a/src/main/java/com/ycwl/basic/annotation/IgnoreToken.java b/src/main/java/com/ycwl/basic/annotation/IgnoreToken.java
new file mode 100644
index 0000000..03020ed
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/annotation/IgnoreToken.java
@@ -0,0 +1,21 @@
+package com.ycwl.basic.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * ignore token validation
+ *
+ * check all req except add this annotation
+ * this annotation could use in method and class type
+ *
+ *
+ * @ahtuor yangchen
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.METHOD, ElementType.TYPE})
+public @interface IgnoreToken {
+
+}
diff --git a/src/main/java/com/ycwl/basic/aspectj/RequestParameterAspectj.java b/src/main/java/com/ycwl/basic/aspectj/RequestParameterAspectj.java
new file mode 100644
index 0000000..c90ea17
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/aspectj/RequestParameterAspectj.java
@@ -0,0 +1,69 @@
+package com.ycwl.basic.aspectj;
+
+import com.alibaba.fastjson.JSON;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+
+/**
+ * @date 2022年10月13日 13:55
+ * 入参参数打印类
+ */
+@Aspect
+@Component
+public class RequestParameterAspectj {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(RequestParameterAspectj.class);
+
+ @Pointcut("execution(* com.ycwl.basic.controller.*.*.*(..))")
+ public void classPackage() {
+
+ }
+
+ @Around("classPackage()")
+ public Object parameterPoint(ProceedingJoinPoint joinPoint) throws Throwable {
+ final ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+ if (requestAttributes != null) {
+ final HttpServletRequest request = requestAttributes.getRequest();
+ String requestURI = request.getRequestURI();
+ String method = request.getMethod();
+
+ HashSet parameterValueSet = new HashSet<>();
+ Object[] requestParameterValue = joinPoint.getArgs();
+ for (Object o : requestParameterValue) {
+ if (!(o instanceof HttpServletRequest || o instanceof HttpServletResponse)) {
+ parameterValueSet.add(String.valueOf(o));
+ }
+ }
+
+ Enumeration parameterNames = request.getParameterNames();
+ Map parameterUrlMap = new HashMap<>();
+ while (parameterNames.hasMoreElements()) {
+ String parameterName = parameterNames.nextElement();
+ String parameterValue = request.getParameter(parameterName);
+ parameterUrlMap.put(parameterName, parameterValue);
+ }
+
+ if (parameterUrlMap.isEmpty()) {
+ LOGGER.info("当前请求的路径为-> {} 请求方式为-> {} 参数为-> {}", requestURI, method, JSON.toJSONString(parameterValueSet));
+ } else {
+ LOGGER.info("当前请求的路径为-> {} 请求方式为-> {} 参数为-> {} 路径传参为-> {}", requestURI, method,
+ JSON.toJSONString(parameterValueSet), JSON.toJSONString(parameterUrlMap));
+ }
+ }
+ return joinPoint.proceed();
+ }
+}
diff --git a/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java b/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java
new file mode 100644
index 0000000..69ebc4e
--- /dev/null
+++ b/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java
@@ -0,0 +1,56 @@
+package com.ycwl.basic.config;
+
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.time.Duration;
+
+/**
+ * @author wenshijia
+ * @date 2021年07月05日 18:34
+ * 修改redis缓存序列化器
+ */
+@Configuration
+@EnableCaching
+public class CustomRedisCacheManager extends CachingConfigurerSupport {
+
+ @Bean
+ public RedisCacheConfiguration redisCacheConfiguration() {
+ Jackson2JsonRedisSerializer